sto provando questo script ma non mi crea una mazza...ne cookie ne file di sessione.
Dov'è l'errore?
Oddio sto andando in confusione..aiutooo!!!
codice:
<?php
//dati per il login
$login_user=$_POST['posted_username'];
$pass_user=$_POST['posted_password']; //passwd="prova"
$redirect="http://localhost/websites/sessioni_TXT/login.php";
//gestione della sessione nel caso in cui i cookie sono disabilitati
if(isset($_POST['PHPSESSID']) && !isset($_COOKIE['PHPSESSID']))
{
$PHPSESSID=$_POST['PHPSESSID'];
header("Location: $redirect?PHPSESSID=$PHPSESSID"); //si ricarica la pagina di login
}
session_start(); //si inizia o continua la sessione
//controllo user e passwd da login
if(isset($_POST['posted_username']) && isset($_POST['posted_password']))
{
if($login_user==($_POST['posted_username']) && $pass_user==md5($_POST['posted_password']))
$_SESSION['user']=$_POST['posted_username'];
}
//creazione cookie per login automatico
if(isset($_POST['ricorda']) && isset($_SESSION['user']))
{
$cok=md5($login_user)."%%".$pass_user;
setcookie("sav_user",$cok,time()+31536000);
}
//logout
if($_GET['logout']==1)
{
$_SESSION=array(); // Desetta tutte le variabili di sessione.
session_destroy(); //DISTRUGGE la sessione.
if(isset($_COOKIE['sav_user'])) //se presente si distrugge il cookie di login automatico
setcookie("sav_user",$cok,time()-31536000);
header("Location: $redirect"); //si ricarica la pagina di login
exit; //si termina lo script in modo da ritornare alla schermata di login
}
//controllo user e passwd da cookie
if(isset($_COOKIE['sav_user']))
{
$info_cok=$_COOKIE['sav_user'];
$cok_user=strtok($info_cok,"%%");
$cok_pass=strtok("%%");
setcookie("sav_user",$info_cok,time()+31536000);
if($cok_user==md5($login_user) && $cok_pass==$pass_user)
$_SESSION['user']=$login_user;
}
//caso in cui si vuole ricordare il login, ma i cookie sono off
if(!isset($_COOKIE['PHPSESSID']) && isset($_POST['ricorda']))
header("Location: $redirect?nocookie=1");
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
$PHPSESSID=session_id();
if(!isset($_SESSION['user'])) //non siamo loggati, pagina di login
{
if($_GET['nocookie']==1) //i cookie sono off e si vuole ricordare il login
print("Spiacente, ma con i cookie disabilitati non posso fare i miracoli ;)
Attivali se vuoi ricordare il tuo login.
");
print("
<FORM METHOD='POST' ACTION=\"login.php\">
username: <INPUT TYPE='TEXT' SIZE='20' NAME='posted_username'>
password: <INPUT TYPE='PASSWORD' SIZE='20' NAME='posted_password'>
ricordami: <INPUT TYPE='CHECKBOX' NAME='ricorda' VALUE='1'>
<INPUT TYPE='SUBMIT' NAME='SUBMIT' VALUE=\"Loggami\">
");
if(!isset($_COOKIE['PHPSESSID'])) //i cookie sono off, dobbiamo propagare noi il PHPSESSID
print("<INPUT TYPE='HIDDEN' NAME='PHPSESSID' VALUE='$PHPSESSID'>");
print("</FORM>");
}
else //siamo loggati pagina riservata
{
$username=$_SESSION['user'];
print("Il tuo ID ?: $PHPSESSID
");
print("Sei loggato come: $login_user
");
print("<A HREF=\"login.php?logout=1\">logout</A>");
}
?>
</BODY>
</HTML>