Premetto che queste sessioni mi hanno sempre dato del filo da torcere, nonostante le infinite guide....
ho creato un unico file di login:
in pagweb.phpcodice:$id = $_GET["id"]; $page = $_GET["page"]; session_start(); if($_POST["Submit"] == "Logout"){ $_SESSION=array(); session_destroy(); header("Location: pagweb.php?page=$page&id=$id"); }else{ if($_POST["Submit"] == "Login"){ if($_POST['username'] != '' && $_POST['password'] != ''){ $username = $_POST["username"]; $password = md5($_POST["password"]); $query = "SELECT * FROM table WHERE username = '$username' AND pass = '$password'"; $result = mysql_query($query); if(!$result || mysql_num_rows($result) == 0){ echo "Username sconosciuto o Password errata"; }else{ $_SESSION['user'] = $_POST["username"]; } }else{ echo "Devi inserire username e password"; } } } if(!isset($_SESSION['user'])){ ?> <form name="formadmin" method="post" action="<?="pagweb.php?page=$page&id=$id";?>"> username: <input type="text" name="username" size="12"> password:_<input type="password" name="password" size="12"> <input type="submit" name="Submit" value="Login"> </form> <? }else{ ?> <form name="formadmin" method="post" action="<?="pagweb.php?page=$page&id=$id";?>"> Benvenuto <?= ucfirst($_SESSION['user'])."...";?> per uscire clicca <input type="submit" name="Submit" value="Logout"> </form> <? } ?>
richiamo questo file con
in locale, su apache funziona perfattamente, sul server web no.codice:include ("login.php"); e metto ob_start(); e ob_end_flush(); all'inizio ed alla fine per evitare problemi con l'html
In cosa sbaglio?
Il problema in rete è che non si disconnette,
resta collegato anche se premo logout (ovviamente se chiudo la pagina chiude la sessione!).
Helpme....


Rispondi quotando