Ho un dubbio sull'uso delle sessioni: guardiamolo nel dettaglio
Codice PHP:
//nel head
if(!session_id())// se non è stata inizializzata la sessione
{
session_start(); //la faccio partire
session_name("Anonymous");
session_register("user");
$_SESSION['user']="Anonymous";
}
//nella pagina login.php
case "login":
//da fare controllo se già loggato alla fine
if(!isset($user)) // dichiarazione
$user=$pass="";
if(!isset($_POST["do"]))
$_POST["do"]=" ";
if($_POST["do"]=="inserisci") // ho i dati?
{
$user=$_POST["user"];
$pass=$_POST["password"];
$pass=md5($pass);
$sql="SELECT `id` , `username`"
."FROM `utente`"
."WHERE username = '$user'"
."AND PASSWORD = '$pass'";
$res=mysql_query($sql,$db); // ho ricercato
$pass=""; // elimino la pass per ragioni di sicurezza
if(!$dato=mysql_fetch_array($res))
echo("non ti ho trovato");
else
{
echo("ti ho trovato");
session_name($dato["username"]);
echo($dato["username"]);
$_SESSION['user']=$dato["username"];
}
}
/* i due form di inserimento
*/
domanda: facendo delle stampe di prova il dato $_SESSION['user'] dopo il login è corretto.. però nel ricaricamento della pagina viene rifatta l'inizializzazione della sessione con anonymous... ma perchè?