ciao gente.
sto cercando di lavorare su un auto login ma non riesco a venirne fuori.
index.php
Codice HTML:
<form name="login" action="spt/login.php" method="post">
Nome utente: <input type="text" name="username" />
Password:
<input type="password" name="password" />
Ricordami <input type="checkbox" name="autolog" value="1"/>
<input type="submit" name="invia" value="Login" />
</form>
login.php
Codice PHP:
<?php
if(!$_POST['username'] | !$_POST['password']){
echo'<h1 align=center >:: Errore ::</h1>Devi inserire tutti i campi<br>';
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. <br>Torna <a href=javascript:history.back()>Indietro</a> <br>oppure <a href='../reg.php'> Registrati</a>.</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','loggato',time()+864000);
setcookie('user',$usern,time()+864000);
setcookie('pw',$passw,time()+864000);
}
echo"<div align=center><h1> Bentornato $usern </h1>Login effettuato con successo!<br><img src='../img/home48.png'><br><a href=../index.php> Clicca qui per tornare alla home page</a>.</div>";
}
?>
ogni pagina ha un include() alla pagina check_login.php
Codice PHP:
<?php
session_start();
echo "in check_login<br>";
if(isset($_COOKIE['autolog'])){
echo "cookie:",$_COOKIE['autolog'];}
if (!isset($_SESSION['username']) && !isset($_SESSION['password'])) {
$loggato = 0; //NON loggato
return;
}else {
$loggato = 1; //LOGGATO!
}
if($_COOKIE['autolog'] == 'loggato'){
$_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);
}
?>
ma non c'è verso: non riesco a rendere funzionante l'autologin. ogni volta devo reinserire i dati.
grazie.