Salve, volevo sapere come mai le variabili di sessione non funzionano come dovrebbero nel senso che quando faccio una prima volta l'autenticazione non vengono registrati i valori, se ritorno indietro e faccio dinuovo l'autenticazione i valori vengono memorizzati, come mai?
ecco un esempio di script;
controlla.php file che effettua l'autenticazione
Codice PHP:
?
session_start();
ob_start();
include("ricerca.php");
include("errors.php");
$pass = (isset($_POST['pass']))?$_POST['pass']:'';
$user = (isset($_POST['user']))?$_POST['user']:'';
$profilo = (isset($_POST['profilo']))?$_POST['profilo']:'';
$return=ricerca('profilo',$profilo,'user',$user,'pwd',$pass);
$val=explode(",", $return);
switch($val[0]){
case -1:
errore("Utente non Registrato");;
break;
case admin:
$_SESSION['logged']=$val[0];
$percorso="http://".$_SERVER["HTTP_HOST"]."/area/admin2.php";
header("Location: $percorso ");
break;
case tesserato:
$_SESSION['logged']=$val[0];
$_SESSION['cartella']=$val[1];
//echo $_SESSION['cartella'];
//echo "Stampo l'array val: $val[1]";
$percorso="http://".$_SERVER["HTTP_HOST"]."/area/album/".$val[1]."/";
//echo "stampo variabile di sessione cartella: ".$_SESSION['cartella'];
header("Location: $percorso ");
break;
}
?>
index.php che vede se sono settate le variabili di sessione
Codice PHP:
<?
session_start();
$_SESSION['logged']=isset($_SESSION['logged'])?$_SESSION['logged']:'Variabile di sessione non settata';
$_SESSION['cartella']=isset($_SESSION['cartella'])?$_SESSION['cartella']:'Variabile di sessione non settata';
include("../../array.php");
include("../../errors.php");
if($_SESSION['logged']==admin OR ($_SESSION['logged']==tesserato AND $_SESSION['cartella']==folders())){
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>area</title>
</head>
<body bgcolor="#ffffff">
OK VA BENE SESSIONE OK!!!
</body>
</html>
<?
}
else
{
echo "Stampo la cartella: ".folders()."
";
echo "Stampo la variabile di sessione cartella: ".$_SESSION['cartella']."
";
echo "Stampo la variabile di sessione logged: ".$_SESSION['logged']."
";
errore("Utente NON AUTORIZZATO");
}
?>