ciao a tutti.
è un pò che mi sono fermato e sto ricominciando a programmare.
vorrei ampliare un sito precendentemente creato con un pò di cosette in più.
ho scaricato il sito dal server (avevo formattato e mi ero dimenticato di salvare la cartella locale www ) e ci sto lavorando sopra nuovamente.
mi sono un pò arrugginito ma speravo di non essermi rincoglionito...
invece è così...
sto cercando di verificare come mai lo script di login che avevo creato, che in rete funziona benissimo, ora, in locale non va.
ho lavorato così:
check_login.php
Codice PHP:
<?php
session_start();
if(!isset($_COOKIE['autolog'])){
if (!isset($_SESSION['username']) || !isset($_SESSION['password'])) {
$loggato = 0; //NON loggato
return;
} else {
$loggato = 1; //LOGGATO!
}
}
else{
//sezione "remember me" -> autologin
$_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);
}
?>
login.php
Codice PHP:
<?php
include_once('script/check_login.php');
include('header.php');
include('starter.php');
include('script/conn.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("<h1 align=center>:: Errore ::</h1>Non risulti registrato. <br>Torna <a href=javascript:history.back()>Indietro</a> <br>oppure <a href='reg.php'> Registrati</a>.");
}
$passw = md5($_POST['password']);
if($passw != $row['password']){
die('<h1 align=center>:: Errore ::</h1>Password inserita <b>NON</b> corretta!. Torna <a href=javascript:history.back()>Indietro</a> ');
}
else{
////header("Refresh: 3; URL=index.php");
$_SESSION['username'] = $usern;
$_SESSION['password'] = $passw;
$_SESSION['id_usr'] = $row['id_utente'];
if($_POST['auto_log']){
setcookie('autolog','loggato',time()+864000);
setcookie('user',$usern,time()+864000);
setcookie('pw',$passw,time()+864000);
}
echo"<h1>:: Bentornato $usern ::</h1>Login effettuato con successo! Attendi il reindirizzamento in 3 secondi...<br>Oppure <a href=index.php> clicca qui per tornare alla home page</a>.";
}
include("footer.php");
?>
e poi ogni pagina ha come righe iniziali:
Codice PHP:
<?
include_once("script/check_login.php");
include("header.php");
include("starter.php");
include("script/conn.php");
...
così che ogni pagina, al suo interno ha un
Codice PHP:
if($loggato == 0){
die("<h1>|| ERRORE ||</h1> ...");
}
mi sapreste spiegare perchè NON risulto MAI loggato a seguito del login?
$loggato rimane sempre 0, perchè, infatti, non vengono attivati i condizionali per loggato =1
:(
mi sapete aiutare?
grazie.