Ciao a tutti, da pochissimo sto imparando come gestire sessioni con php per creare e utilizzare login nei siti, e vorrei un piccolo aiuto. Leggendo qua e là sono arrivata a creare una pagina di login in php che, facendo riferimento ad un preciso db, controlla se i dati che gli arrivano dalla form di un'altra pagina che lo richiama esistono nel db in questione e in caso positivo permette di accedere alla nuova pagina, altrimenti scrive login fallito. Il codice è:
codice:
<?php
$username=$_POST['nome'];
$password=$_POST['pass'];
$database=mysql_connect("localhost","root","esameweb");
if (!$database){ die('Could not connect.' . mysql_error()); } mysql_select_db("gestione_sessioni",$database) or die(mysql_error());
$query=mysql_query( "SELECT * FROM utenti WHERE username='".$username."' ");
$elemento = mysql_fetch_array($query);
if($elemento['username']!=$username) { echo "login fallito"; }
else { session_start();
$_SESSION['username']=$username;
$_SESSION['login']='OK';
header('Location:nuovapagina.php?PHPSESSID=$PHPSESSID'); }
mentre nella pagina accessibile dal login per ora ho messo solo:
codice:
<?php session_start();
if($_SESSION['login']!='OK') { header('Location:index.html'); }
else echo 'benvenuto';
Ora i miei dubbi sono essenzialmente: usando session_start() sia nell else della pagina di login che all'inizio della nuova pagina, creo due sessioni diverse? ho letto che se nell'header invio anche il phpsessid in realtà mantengo la stessa sessione, ma è effettivamente così? Poi avrei bisogno di un meccanismo per fare sloggare l'utente e azzerare le variabili di sessione, altrimenti una volta che un utente ha loggato correttamente $_SESSION['login'] rimane su 'OK' e a quel punto la pagina è accessibile a chiunque il che nn è proprio quello che speravo :P
Potete aiutarmi
? thansk