• Home
  • Forum
  • Fare Web
  • PHP

header e session funzionano perfettamente in locale ma creano problemi in remoto

  • Creatore Discussione Creatore Discussione Fabrizio Fiorita
  • Data di inizio Data di inizio 13 Set 2012
  • Tag Tag
    header php session
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 15 Set 2012
  • #21
Ho provato quello che mi hai detto e - contrariamente a ogni previsione - il rinvio funziona.
A questo punto non mi resta che rispulciare il codice lettera per lettera per trovare l'inghippo.
Quello che mi ha meravigliato è che, sostituendo il rinvio HEADER con
PHP:
	echo "<script>javascript:window.location.href='accesso_direzionale.php'</script>";
veniva effettuato il cambio pagina ma non venivano trasmessi i dati di sessione.
Secondo un suggerimento trovato su php.net, si dovrebbe memorizzare nella pagina di partenza l'UID della sessione e poi inserirlo in session_id prima del session_start.
Il problema è come e dove memorizzarlo perché resti raggiungibile nella pagina d'arrivo, visto che $_SESSION sparisce.
Comunque adesso vado a controllare il codice.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 15 Set 2012
  • #22
C'è una cosa che non comprendo appieno: perché imposti manualmente la cartella in cui salvare le sessioni e il nome della sessione? Ci sono motivi particolari? Penso che il problema in qualche modo possa essere legato a questo; ovviamente è solo un'ipotesi.
 

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 15 Set 2012
  • #23
Ciao.
Ho impostato il nome e la cartella per poter seguire in fase di debug i risultati della memorizzazione, che non mi ha dato mai fastidi.
Ricordo che in locale il sistema funziona senza alcun problema, i guai stanno solo sul server remoto.
 

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 15 Set 2012
  • #24
Riepilogando:
ho spulciato tutto il codice delle due pagine incriminate, che posto nuovamente in quanto ho inserito dei commenti importanti ed ho apportato alcune modifiche di semplificazione (altre ne verranno). Non ho trovato nessun motivo di quello che capita in remoto, e continuo a non capire perché le due pagine funzionano perfettamente in locale.
Ho adottato due soluzioni alternative:
La prima utilizza la funzione PHP header
PHP:
	header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/accesso_direzionale.php'); 
	exit(); */
Seguendo lo script con diversi markers ho verificato che viene tutto eseguito fino alla funzione header, dove lo script si blocca.

La seconda soluzione utilizza la funzione Javascript
PHP:
	echo "<script>javascript:window.location.href='accesso_direzionale.php'</script>";
In questo caso il passaggio di pagina viene eseguito, ma non vengono trasmessi i dati della sessione: la funzione session_start, anziché recuperare i dati della sessione aperta ne apre una nuova.

Da notare che, in locale, ambedue le funzioni si comportano perfettamente e che, in remoto, non viene mai evidenziato alcun errore.

Posto il file di partenza verifica_accesso_direzionale.php
PHP:
<!DOCTYPE html>
 <?php
/* Doveva funzionare anche qui, ma non funziona perché viene eseguita subito e non quando serve.	
		header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/accesso_direzionale.php'); 
		exit(); */
?>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)">
    <meta name="created" content="mar, 03 lug 2012 15.02.57 GMT">
    <meta name="description" content="Verifica se chi ha chiesto l'accesso direzionale è abilitato (dati provenienti da pagina Joomla).">
    <meta name="keywords" content="">
	<link rel="stylesheet" href="/templates/ff_sipbc_j11/css/sipbcall.css" type="text/css" media="all" />
    <title>Verifica accesso direzionale</title>
    <!--[if IE]>
    		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
			<script type="text/javascript" src="../templates/ff_sipbc_j11/js/5shiv.js"></script>
    <![endif]-->
  </head>
<body>
<?php
  error_reporting(E_ALL);  // Eliminare alla fine del debug
  require_once('costanti.inc'); // contiene la funzione che stampa la testata di pagina quando necessaria
  require_once('dbconnect.inc'); // contiene i valori per la connessione al database
/* Sanitarizzazione e lettura dell'input */
  foreach ($_POST as &$replaced)
  		  {
		  $replaced = str_replace("'", "", $replaced);
		  }
  foreach ($_POST as $escaped)
  		  {
		  $escaped = htmlentities($escaped, ENT_QUOTES, "UTF-8");
		  }
  $codice = $_POST["codice"];
  $password = $_POST["pw"];
/* Fine sanitarizzazione e lettura dell'input */
/* Connessione al database */
  $conn = @new mysqli($db_server, $db_user_name, $db_password, $db_name);
  if (mysqli_connect_errno() != 0)
	{
	  $errno = mysqli_connect_errno();
	  $errmsg = mysqli_connect_error();
      echo '<article id="modiscriz1">', TESTATA;
	  echo 'Errore connessione: ', ($errno),' ',$message, '<input type="button" value="Torna indietro" onClick="javascript:history.go(-1)" />';
	  echo '</article>';
	  exit();
	}
/* Fine connessione al database */
/* Ricerca sul database del codice immesso nel form.
   Non necessaria la verifica di codice o password vuoti perché dichiarati REQUIRED nel form di origine. */
	$conn->query("SET NAMES 'utf8'");
	$query_str = "SELECT * FROM accesso WHERE codice='$codice'";
  	$result = $conn->query($query_str);
  	if ($result === FALSE)
  	   {
    	$errno = $conn->errno;
    	$errmsg = $conn->error;
        echo '<article id="modiscriz1">', TESTATA;
    	echo 'Errore dati: ($errno) $errmsg<br/>','<input type="button" value="Torna indietro" onClick="javascript:history.go(-1)" />';
    	$conn->close();
	    echo '</article>';
		exit();
	   }
/* Fine ricerca sul database del codice immesso nel form. */
/* Codifica e verifica della password. */
	$row_data = @$result->fetch_array();
	$sha2=hash('sha256', $password);
	if ($sha2 != $row_data['password'])
	   {
        echo '<article id="modiscriz1">', TESTATA;
		echo '<span style="color:red; font-weight:bold;">Codice e/o password non validi</span><br />';
		echo '<input type="button" value="Torna indietro" onClick="javascript:history.go(-1)" />';
		$result->close();
		$conn->close();
	    echo '</article>';
		exit();
	   }
/* Fine codifica e verifica della password. */
/* A questo punto sono disponibili tutti i dati per creare lo USER. */
    require_once('userinfo.inc'); // contiene la classe UserInfo per i soli utenti di questa procedura di accesso
	$tipo = $row_data['tipo'];
	$sezione = $row_data['sezione'];
	$delegazione = $row_data['delegazione'];
	$user = new UserInfo($codice, $password, $tipo, $sezione, $delegazione);
/* La sessione viene iniziata solo ora, per evitare apertura di sessioni inutili. */
  	ini_set('session.save_path', '../iscrizione/tmp/');
  	session_name('ACCESSODIREZIONALE');
  	session_start();
	$_SESSION['current_user'] = $user;
/* Eliminazione dei dati non più necessari */
	if (isset($result)): $result->close(); endif;
	if (isset($conn)): $conn->close(); endif;
/* Soluzione con HEADER */
/* IN REMOTO ARRIVA FIN QUI E POI SI BLOCCA
	header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/accesso_direzionale.php'); 
	exit(); */
/* Soluzione alternativa a HEADER */
/* IN REMOTO QUESTA SOLUZIONE VA ALLA PAGINA RICHIESTA MA NON TRASMETTE LA SESSIONE */
	echo "<script>javascript:window.location.href='accesso_direzionale.php'</script>";
/* Tutte le righe fino alla chiusura del tag PHP possono essere cancellate se funziona HEADER. 
    echo '<article id="modiscriz1">', TESTATA;
	echo '<br /><h3>Credenziali corrette per ';
	switch ($tipo) 
	    { 
	 		case "1": echo "l'Amministratore del Sistema e la Segreteria Nazionale</h3>"; break;
			case "2": echo 'il Presidente ed il Segretario Generale</h3>'; break;
			case "3": echo 'la ', $sezione, '</h3>'; break;
			case "4": echo 'la ', $delegazione, '</h3>'; break;
		}
	echo '<form method="post" name="avvio" action="accesso_direzionale.php">',
	 	  '<button type="submit" />Accedi</button>',
	      '</form>'; */
?>
</body>
</html>

ed il file di arrivo, accesso_direzionale.php
PHP:
<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)">
    <meta name="created" content="mar, 03 lug 2012 15.02.57 GMT">
    <meta name="description" content="Riceve OK da verifica_accesso.php e seleziona il tipo di autorizzazione per l'utente">
    <meta name="keywords" content="">
	<link rel="stylesheet" href="/templates/ff_sipbc_j11/css/sipbcall.css" type="text/css" media="all" />
    <title>Accesso direzionale</title>
    <!--[if IE]>
    		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
			<script type="text/javascript" src="../templates/ff_sipbc_j11/js/5shiv.js"></script>
    <![endif]-->
  </head>
<body>
<?php
error_reporting(E_ALL);  // Eliminare alla fine del debug
  require_once('costanti.inc'); // contiene la funzione che stampa la testata di pagina quando necessaria
  require_once('dbconnect.inc'); // contiene i valori per la connessione al database
  require_once('userinfo.inc'); // contiene la classe UserInfo per i soli utenti di questa procedura di accesso
  ini_set('session.save_path', '../iscrizione/tmp/');
/* Riapertura della sessione */
  session_name('ACCESSODIREZIONALE');
  session_start();
/* Recupero dei dati di sessione relativi all'utente.*/ 
  $user = $_SESSION['current_user'];
  $codice = $user->get_codice();  // Mi sembra che non serva, vedere ed eventualmente togliere
  $tipo = $user->get_tipo();
  $pwu = $user->get_pwu();  // Mi sembra che non serva, vedere ed eventualmente togliere
  if ($tipo == 3): $sezione = $user->get_sezione(); endif;
  if ($tipo == 4): $delegazione = $user->get_delegazione(); endif;
/* Apertura della pagina grafica contenente il menu di accesso alle funzioni del pacchetto. */
  echo '<article id="modiscriz1">';
  echo TESTATA;
/* Gli input HIDDEN nei menu che seguono potrebbero non essere necessari perché i dati vengono forniti dalla sessione. */
  switch ($tipo)
   {
	case "1": // accesso pieno
?>
		  	<table class="direzione">
			  <tr>
			  	  <td colspan="5"><p style="font-weight:bold; text-align:center;">Accesso consentito con privilegi dell'Amministratore di sistema.</p></td>
				  </tr>
			  <tr>
	 	  	   <td><form method="post" name="avvio" action="../phpmyadmin" target="_blank">
	 		   		 <button type="submit" />Database</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="abilita.php">
	 		   		 <button type="submit" />Abilita accesso</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_abilitati.php">
	 		   		 <button type="submit" />Elenco abilitati</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni_collettive.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. collettive</button>
			   </form></td>
			  </tr>
			  <tr>
	 	  	   <td><form method="post" name="avvio" action="nuovo_onore.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Ins. Membri On.</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_onore.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Membri d'Onore</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_soci.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_collettivi.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci collettivi</button>
			   </form></td>
<?php
    break;
	case "2": // accesso pieno in sola lettura
?>
		  	<table class="direzione">
			  <tr>
			  	  <td colspan="3"><p style="font-weight:bold; text-align:center;">Accesso consentito con privilegi della Direzione Nazionale.</p></td>
				  </tr>
				  <tr>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni_collettive.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. collettive</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_onore.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Membri d'Onore</button>
			   </form></td>
			   </tr>
			   <tr>
	 	  	   <td><form method="post" name="avvio" action="lista_soci.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_collettivi.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci collettivi</button>
			   </form></td>
<?php
    break;
	case "3": // accesso ai soli dati della Sezione regionale in sola lettura
?>
		  	<table class="direzione">
			  <tr>
			  	  <td colspan="5"><p style="font-weight:bold; text-align:center;">Accesso consentito con privilegi della <?php echo $sezione; ?>.</p></td>
				  </tr>
				  <tr>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="sezione" value="<?php echo $sezione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni_collettive.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="sezione" value="<?php echo $sezione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. collettive</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_soci.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="sezione" value="<?php echo $sezione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_collettivi.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="sezione" value="<?php echo $sezione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci collettivi</button>
			   </form></td>
<?php
    break;
	case "4": // accesso ai soli dati della Delegazione autonoma in sola lettura
?>
		  	<table class="direzione">
			  <tr>
			  	  <td colspan="5"><p style="font-weight:bold; text-align:center;">Accesso consentito con privilegi della <?php echo $delegazione; ?>.</p></td>
				  </tr>
				  <tr>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="delegazione" value="<?php echo $delegazione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_iscrizioni_collettive.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="delegazione" value="<?php echo $delegazione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Iscr. collettive</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_soci.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="delegazione" value="<?php echo $delegazione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci individuali</button>
			   </form></td>
	 	  	   <td><form method="post" name="avvio" action="lista_collettivi.php">
		  			 <input type="hidden" name="tipo" value="<?php echo $tipo; ?>" hidden="TRUE" />
		  			 <input type="hidden" name="delegazione" value="<?php echo $delegazione; ?>" hidden="TRUE" />
	 		   		 <button type="submit" />Soci collettivi</button>
			   </form></td>
<?php
    break;
   }
?>
<!-- Per tutti, l'ultima voce rinvia alla pagina di accesso iniziale. -->
			   <td>
	   		   <form method="post" name="avvio" action="../index.php?option=com_content&view=article&id=719&Itemid=898&lang=it">
	   	 			 <button type="submit" />Cambio accesso</button>
	   		   </form></td>
	  </tr>
  </table>
  </article>
  </body>
</html>

Al vostro buon cuore...
Ma io non mi arrendo!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 16 Set 2012
  • #25
ciao
ho provato lo script accesso_direzionale.php, commentando i vari require perchè non ho i relatvi file e avuto una serie di errori di cui i primi tre

Warning: session_start() [function.session-start]: open(../iscrizione/tmp/\sess_f03bf775034e61c8d893974627fa5509, O_RDWR) failed: No such file or directory (2) in C:\AppServ\www\corso\0_protezione\000000.php on line 25
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\corso\0_protezione\000000.php:9) in C:\AppServ\www\corso\0_protezione\000000.php on line 25
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\corso\0_protezione\000000.php:9) in C:\AppServ\www\corso\0_protezione\000000.php on line 25
Clicca per allargare...

e una serie di altri dovuti probabilmente alla mancanza dei file requirati

commetati
PHP:
  //ini_set('session.save_path', '../iscrizione/tmp/');

  //session_name('ACCESSODIREZIONALE');
e spostato session start così

PHP:
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
<!-- eccetera eccetera -->

i tre warning relativi alla session sono spariti
prova a salvarlo/caricarlo in questo modo
 

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 17 Set 2012
  • #26
Ovvio che spariscano: ini_set fa riferimento ad un mio path che tu non hai, da qui l'errore. Se togli l'ini_set viene utilizzata la cartella standard.
Ho provato a mettere l'apertura di sessione dovunque, anche prima del DOCTYPE, ma senza esiti.
Resta il fatto che il tutto in locale funziona perfettamente, per cui ho smesso di cercare il problema nel codice e sto continuando ad analizzare il php.ini e l'htaccess per trovare qualche differenza fra il mio PHP e quello del server remoto.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 17 Set 2012
  • #27
ciao
no non intendevo i warning all'ini_set.
i warning sono riferiti a session_start() che se messa in quel punto (riga 25) da errore in quanto viene dopo un otput html (almeno con la mia versione di php).
se messa prima il varning spariscono.
cioé:
prima prova da il varning alla 25
PHP:
<!DOCTYPE html>
<html lang="it">
  <head>
  <!-- ....  -->
<?php
error_reporting(E_ALL);  // Eliminare alla fine del debug
  //require_once('costanti.inc'); // contiene la funzione che stampa la testata di pagina quando necessaria
  //require_once('dbconnect.inc'); // contiene i valori per la connessione al database
  //require_once('userinfo.inc'); // contiene la classe UserInfo per i soli utenti di questa procedura di accesso
  //ini_set('session.save_path', '../iscrizione/tmp/');
/* Riapertura della sessione */
  //session_name('ACCESSODIREZIONALE');
  session_start(); /* questa è la riga 25*/
/* Recupero dei dati di sessione relativi all'utente.*/ 
//eccetera......
?>

seconda prova non da il varning
PHP:
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="it">
  <head>
  <!-- ....  -->
 <?php
error_reporting(E_ALL);  // Eliminare alla fine del debug
  //require_once('costanti.inc'); // contiene la funzione che stampa la testata di pagina quando necessaria
  //require_once('dbconnect.inc'); // contiene i valori per la connessione al database
  //require_once('userinfo.inc'); // contiene la classe UserInfo per i soli utenti di questa procedura di accesso
  //ini_set('session.save_path', '../iscrizione/tmp/');
/* Riapertura della sessione */
  //session_name('ACCESSODIREZIONALE');
  //session_start(); /* questa è la riga 25*/
/* Recupero dei dati di sessione relativi all'utente.*/ 
//eccetera......
?>
come vedi avevo commentato ini_set() e session_name() in entrambe le prove quindi l'errore non viene da quelle
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 17 Set 2012
  • #28
ciao
una cosa che mi ero dimenticato:
nello switch per case 1,2 3 (ma non al 4) il mio editor (dream) mi da errore alle righe
<table style="width:1000px; border:black 5px ridge; color:blue; margin:auto; text-align:center;">
 
Ultima modifica: 17 Set 2012

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 17 Set 2012
  • #29
Se metto session_start prima di DOCTYPE in locale mi dà errore quando va a leggere $_SESSION perché non ne trova il contenuto. In remoto non ci arriva proprio, si ferma prima.
Circa gli errori a table, intanto ho spostato la formattazione nel css, poi verifica quali versioni di HTML e CSS sono accettate dal tuo editor. Io uso CoffeeCup, che è aggiornatissimo a HTML5 e CSS3. I valori di stile che ho messo a table sono perfettamente corretti.
Adesso sto vedendo di fare sulla pagina di verifica uno switch basato sul nome-server: se è LOCALHOST faccio la procedura HEADER altrimenti passo per il form intermedio. Se va bene almeno riesco ad andare avanti con il debug, visto che i dati di SESSION mi servono in tutte le 22 pagine PHP che costituiscono il pacchetto di gestione del database.
 

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 17 Set 2012
  • #30
Ho provato a mettere il SID in una voce hidden del form e a recuperarlo alla pagina successiva:funziona, ma solo nella prima pagina, poi i dati di sessione non vanno avanti sulle pagine successive. Quindi devo seguire qualche altra pista.
Fortunatamente ho memorizzato le due pagine standard, altrimenti, con tutti gli esperimenti che ho fatto, mi sarebbe difficile ripartire da zero.
Ho visto in rete che i problemi di SESSION ed HEADER sono piuttosto diffusi, e i suggerimenti per eliminarli sono i più disparati: adesso mi studio bene la situazione e poi vedremo.
Fortunatamente non avrò bisogno delle nuove procedure almeno fino all'anno prossimo, perché dovrà prima essere approvata la variante al Regolamento che impone la trattazione telematica e poi dovrà essere costituito l'organismo che ne sarà responsabile. Però anche dal punto di vista mio personale non sono disposto ad accettare una sconfitta!
 

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 18 Set 2012
  • #31
Da "vecchio" analista programmatore non dovevo commettere un errore del genere, ma già... ogni tanto la "vecchiaia" fa brutti scherzi.
Però non se ne era accorto nessun altro, vero?
La pagina intermedia, che riceveva i dati dal form, li controllava e poi li passava alla pagina definitiva, era stata da me codificata come pagina HTML5, mentre doveva essere codificata esclusivamente come pagina PHP.
Tolto ogni richiamo HTML si è messo tutto a funzionare perfettamente.
L'unica cosa che ancora non mi è chiara è come mai in locale funzionasse ugualmente: probabilmente la versione più recente di PHP accetta l'inclusione di una pagina PHP in un contesto HTML. Però non ho nessuna voglia né intenzione di approfondirlo. Ho ancora molto lavoro da fare per completare il pacchetto e sicuramente avrò ancora qualcosa da chiedere.
Grazie a borgo italia ed alessandro1997, anche grazie a voi ho insistito nei tentativi e qualche vostro hint mi ha portato sulla strada giusta.
 

Fabrizio Fiorita

Utente Attivo
12 Set 2012
54
0
0
82
Roma, Civitavecchia, Anzio
www.sipbc.it
  • 18 Set 2012
  • #32
(Come si fa a scrivere [RISOLTO] nel titolo della discussione?):crying:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Set 2012
  • #33
ciao
no,no non è la vecchiaia, ma "la perfezione non è di questo mondo".

per risolto non è stato mai messo.
alla prossima
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

G
header , nav e flex
  • Gae
  • 6 Feb 2024
  • HTML e CSS
Risposte
2
Visite
967
HTML e CSS 7 Feb 2024
Gae
G
A
Logo si sovrappone all'header
  • areaformazione360
  • 6 Dic 2022
  • HTML e CSS
Risposte
1
Visite
1K
HTML e CSS 7 Dic 2022
WmbertSea
I
$header
  • Ikon
  • 7 Set 2022
  • HTML e CSS
Risposte
0
Visite
858
HTML e CSS 7 Set 2022
Ikon
I
J
Header location
  • jim87
  • 22 Dic 2019
  • PHP
Risposte
3
Visite
1K
PHP 23 Dic 2019
mr.x
M
[PHP] problema con l'utilizzo di Header
  • gandalf1959
  • 5 Lug 2019
  • PHP
Risposte
3
Visite
3K
PHP 5 Lug 2019
gandalf1959
M
[PHP] header (location..) non funzionante dopo login
  • Mattuso
  • 19 Mag 2019
  • PHP
Risposte
3
Visite
2K
PHP 20 Mag 2019
Mattuso
M
M
[HTML] Picture Tag non funziona in header-Element
  • mendia
  • 13 Apr 2019
  • HTML e CSS
Risposte
0
Visite
1K
HTML e CSS 13 Apr 2019
mendia
M
M
[WordPress] Header responsive
  • mariottone
  • 26 Feb 2019
  • WordPress
Risposte
5
Visite
1K
WordPress 5 Apr 2019
Max 1
M
  • Bloccata
Header responsive
  • mariottone
  • 26 Feb 2019
  • Presentati al Forum
Risposte
0
Visite
637
Presentati al Forum 26 Feb 2019
mariottone
M
P
[WordPress] header-post-title-class
  • pati
  • 19 Feb 2019
  • WordPress
Risposte
7
Visite
1K
WordPress 20 Feb 2019
pati
P
R
[HTML] sfondo header
  • Rare
  • 1 Set 2018
  • HTML e CSS
Risposte
0
Visite
2K
HTML e CSS 1 Set 2018
Rare
R
L
[HTML] Flusso contenuti sotto la header
  • lessico
  • 4 Apr 2018
  • HTML e CSS
Risposte
9
Visite
5K
HTML e CSS 5 Apr 2018
Max 1
  • Bloccata
[WordPress] [HTML] Problema header su mobile
  • Kolop
  • 1 Mar 2018
  • WordPress
Risposte
4
Visite
2K
WordPress 5 Apr 2019
Max 1
W
[XAMPP] File "header.php" non si vede su XAMPP
  • w_t
  • 31 Ott 2017
  • PHP
Risposte
0
Visite
1K
PHP 31 Ott 2017
w_t
W
[Magento] Creazione modulo statico sotto header
  • giuseppe_123
  • 24 Feb 2017
  • Magento
Risposte
0
Visite
2K
Magento 24 Feb 2017
giuseppe_123
G
[PHP] Warning: Cannot modify header information - headers already sent by
  • giumazzi
  • 23 Feb 2017
  • PHP
Risposte
3
Visite
10K
PHP 24 Feb 2017
claudiolor
C
[PHP] Nome utente e Logout nell'header
  • giancadeejay
  • 12 Nov 2016
  • PHP
Risposte
0
Visite
2K
PHP 12 Nov 2016
giancadeejay
S
[PHP] Non mi effettua header
  • samurai.sette
  • 25 Set 2016
  • PHP
Risposte
7
Visite
2K
PHP 26 Set 2016
samurai.sette
S
E
[PHP] No 'Access-Control-Allow-Origin' header is present
  • eros2187
  • 5 Set 2016
  • PHP
Risposte
1
Visite
2K
PHP 4 Set 2017
otto9due
G
php redirect header location pagina bianca
  • giuliano75
  • 15 Apr 2016
  • PHP
Risposte
0
Visite
2K
PHP 15 Apr 2016
giuliano75
G
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?