Ciao,
ho creato un piccolo login con username e password che dovrebbe usare le sessioni. Siccome non mi funzionano i cookie di sessione, sono costretta a usare la funzionalità di trans_sid (ho impostato session.use_trans_sid=1 dentro php.ini).
Risultato: non mantiene le sessioni quando ritorno sulla stessa pagina protetta. Mi sfugge qualcosa? :master: Se non passo valori nella pgina login.htm dalla pagina login.php deve andare a login.htm.
Eppure il php dovrebbe riconoscere l'utente a cui è associato l'id di sessione che si crea quando viene stabilita.
Riporto il codice usato:
------------------------------------------------------------
Pagina login.htm
<form method=POST action="protetta.php">
Username<input type=text name=user size=20>
Password<input type=password name=pass size=20> </p>
<input type=submit value=Login>
<input type=reset value=Reset></p>
</form>
Prova </p>
Username pippo
Password pipo</p>
------------------------------------------------------------
Pagina protetta.php
<?php
$user= $_POST['user'];
$pass= $_POST['pass'];
if($user=='pippo' && $pass=='pipo'){
session_start();
$_SESSION[$user]='pippo';
$_SESSION[$pass]='pipo';
print "Ora sei loggato!
";
print "<form method=\"post\" action=\"logout.php\">";
print "<input type=\"hidden\" name=\"log\" value=\"false\">";
print "<input type=\"submit\" value=\"Logout\">";
print "</form>";
}else{
header("Location: login.htm");
}
?>
--------------------------------------------------------------
Pagina logout.php
<?
$log=$_POST['log'];
if((isset($log)) and ($log=='false')){
session_start();
$_SESSION=array();
session_destroy();
print "Ora hai effettuato il logout!!";
$log='true';
}else{
header("Location: login.htm");
}
?>
ciao e grazie![]()