ho una procedura per i login.
l'utente si logga, si creano i cookies.
ogni pagina del sito ha un include_onxe allo script che devo controllare se l'utente è loggato o meno.
i cookie sono creati perchè li controllo ogni volta, ma la pagina che fa il check isset() non li rileva
Codice PHP:
<?php
if(!$_POST['username'] | !$_POST['password']){
echo'<h1 align=center >:: Errore ::</h1>Devi inserire tutti i campi
';
echo"<a href=javascript:history.back()>Indietro</a>";
exit;
}
$usern = $_POST['username'];
$query = "SELECT * FROM utenti WHERE username='$usern'";
$check = mysql_query($query);
if(!$check){
die(mysql_error());
}
$row = mysql_fetch_array($check);
if($check && mysql_num_rows($check)<=0){
die("<div align=center><h1>Errore</h1>Non risulti registrato.
Torna <a href=javascript:history.back()>Indietro</a>
oppure [url='../reg.php'] Registrati[/url].</div>");
}
$passw = md5($_POST['password']);
if($passw != $row['password']){
die('<div align=center><h1>Errore</h1>Password inserita [b]NON[/b] corretta!. Torna <a href=javascript:history.back()>Indietro</a></div>');
}
else{
////header("Refresh: 3; URL=index.php");
$_SESSION['username'] = $usern;
$_SESSION['password'] = $passw;
if (isset($_POST['autolog'])){
setcookie('autolog','si',time()+864000);
setcookie('user',$usern,time()+864000);
setcookie('pw',$passw,time()+864000);
}
else{
setcookie('user',$usern,time()+3600);
setcookie('pw',$passw,time()+3600);
}
echo"<div align=center><h1>Bentornato $usern</h1>Login effettuato con successo!
[img]../img/home48.png[/img]
[url='../index.php'] Clicca qui per tornare alla home page[/url].</div>";
}
?>
e così l'utente si è loggato.
ogn pagina contiene include_once(); ed include questo script:
Codice PHP:
<?php
session_start();
if (isset($_COOKIE["user"]) && isset($_COOKIE["pw"])){ //<-- AM NON LI LEGGE! :...(
echo "U:",$_COOKIE["user"] , $_COOKIE["pw"] ;
if (!isset($_SESSION['username']) && !isset($_SESSION['password'])) {
$loggato = 0; //NON loggato
#return;
}
else{
$loggato = 1; //LOGGATO!
}
}
if($_COOKIE['autolog'] == 'si'){
$_SESSION['username'] = $_COOKIE['user'];
$_SESSION['password'] = $_COOKIE['pw'];
$loggato = 1;
//rinfresca cookies
$usern = $_SESSION['username'];
$passw = $_SESSION['password'];
setcookie('autolog','loggato',time()+864000);
setcookie('user',$usern,time()+864000);
setcookie('pw',$passw,time()+864000);
}
?>