Visualizzazione dei risultati da 1 a 3 su 3

Discussione: dubbi sulle sessioni

  1. #1

    dubbi sulle sessioni

    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

  2. #2
    se fai una ricerca sui thread presenti in archivio trovi centinaia di post sull'argomento sessioni.

    Brevemente per dare un minimo di risposta diciamo che la sessione del singolo utente viene recuperata tramite il cookie di sessione. Quindi senza il cookie verra' inizializzata una sessione nuova.

    Ma dando un'occhiata veloce al tuo codice:

    Codice PHP:
    $query=mysql_query"SELECT * FROM utenti WHERE username='".$username."' ");
    $elemento mysql_fetch_array($query); 
    if(
    $elemento['username']!=$username) { echo "login fallito"; } 
    Questo controllo e' di una assurdita' disarmante.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.