Fabiorayden
07-09-2007, 16:05
Ho alcune pagine dove l'utente può accedervi soltanto tramite login.
La struttura semplificata è questa:
index.php invia alla pag2.php user e password, i quali vengono memorizzati in $_SESSION["user"] e $_SESSION["pwd"]; se passo alla pag3.php non riesco a recuperare i valori delle variabili di sessione solo la prima volta.
A questo punto se accedo alla pag2.php le variabili di sessione non contengono più nulla (vedi codice) e quindi devo rifare il login.
Rifacendo il login tutto funziona.
Il codice è:
pag2.php
<?php
@session_start();
if(isset($_REQUEST["user"]) AND isset($_REQUEST["pass"]))
{
$_SESSION["user"] = $_REQUEST['user'];
$_SESSION["pwd"] = $_REQUEST['pass'];
echo("i valori di sessione sono:<br>");
echo($_SESSION["user"]."<br>".$_SESSION["pwd"]);
echo ("<br><a href='pag3.php'>pagina 3</a>");
}
else
{
$c = r();
echo ("<br>Nome utente o password non validi");
echo ("<br><a href='index.php?r=$c'>riloggati</a>");
session_destroy();
}
pag3.php
@session_start();
if(isset($_SESSION["user"]) AND isset($_SESSION["pwd"]))
{
if(isset($_SESSION["user"]) == "pippo" AND isset($_SESSION["pwd"]) == "pluto")
{
echo ("<br>".$_SESSION["user"]."<br>".$_SESSION["pwd"]);
echo ("<br><a href='pag2.php>indietro</a>");
else
{
echo ("utente non autorizzato");
}
}
else
{
echo ("<br>Sessione non inizializzata");
}
?>
Ovviamente user e password verranno confrontati con quelli presenti in un database e non come ho fatto ora.
La struttura semplificata è questa:
index.php invia alla pag2.php user e password, i quali vengono memorizzati in $_SESSION["user"] e $_SESSION["pwd"]; se passo alla pag3.php non riesco a recuperare i valori delle variabili di sessione solo la prima volta.
A questo punto se accedo alla pag2.php le variabili di sessione non contengono più nulla (vedi codice) e quindi devo rifare il login.
Rifacendo il login tutto funziona.
Il codice è:
pag2.php
<?php
@session_start();
if(isset($_REQUEST["user"]) AND isset($_REQUEST["pass"]))
{
$_SESSION["user"] = $_REQUEST['user'];
$_SESSION["pwd"] = $_REQUEST['pass'];
echo("i valori di sessione sono:<br>");
echo($_SESSION["user"]."<br>".$_SESSION["pwd"]);
echo ("<br><a href='pag3.php'>pagina 3</a>");
}
else
{
$c = r();
echo ("<br>Nome utente o password non validi");
echo ("<br><a href='index.php?r=$c'>riloggati</a>");
session_destroy();
}
pag3.php
@session_start();
if(isset($_SESSION["user"]) AND isset($_SESSION["pwd"]))
{
if(isset($_SESSION["user"]) == "pippo" AND isset($_SESSION["pwd"]) == "pluto")
{
echo ("<br>".$_SESSION["user"]."<br>".$_SESSION["pwd"]);
echo ("<br><a href='pag2.php>indietro</a>");
else
{
echo ("utente non autorizzato");
}
}
else
{
echo ("<br>Sessione non inizializzata");
}
?>
Ovviamente user e password verranno confrontati con quelli presenti in un database e non come ho fatto ora.