Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [sessioni] Come faccio a recuperare user e password e confrontarle le sessioni?

    Scusate ragazzi, ma io con le sessioni non sono in grado di lavorare.

    Mi dovreste aiutare voi possibilmente perchè sebbene ho letto nei manuali, e cercato tra le discussioni del forum non ho trovato nulla che posso chiarire i miei dubbi.

    per iniziare, io sto creando un sito di svariate pagine ed ho bisogno che esso abbia uno stato cioè che riconosca gli utenti, attraverso un login, per tutte le pagine senza rieffettuare l'autenticazione.

    Vorrei usare le sessioni.
    Ora, per l'uso delle sessioni non c'è nessun problema dopo aver letto il manuale credo riesca bene ad usare le funzioni più note che le riguardano.

    Io vorrei che le mie sessioni funzioni così.
    Dopo aver inserito i valori $user e $password nei campi della pagina login vorrei, dopo essermi accertato dell'esistenza di questo utente nel database, da un'altra pagina (area_riservata.php) creare con session_start() e session_register() due sessioni, una che contenga l'user e l'altra che contenga la password.

    In questo modo accedo allegramente alle altre pagine.

    Quando torno alla pagina login io effettuo questo controllo:

    if($_SESSION['nome']==$nome && $_SESSION['pass']==$password)

    ma ovviamente le variabili $nome e $password sono scomparse...

    e quindi l'if da esito negativo questo comporta che devo rifare il login e quindi la sessione non va a buon fine.

    (Spero tanto di essere stato chiaro)

    Grazie anticipatamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    se non sbaglio devi mettere il session_start() in tutte le pagine in cui vuoi riutilizzare le varibili che hai registrato.... lo hai messo?
    No pvt per sollecitare risposte, grazie.

  3. #3
    ah ho capito, no non inserivo session_start() nelle altre pagine...però comunque il problema non è risolto perchè io le variabili $nome e $password le imposto in login poi quando vado nelle altre pagine spariscono...e quando torno al login come faccio a confrontarle con le sessioni che ho creato?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Ma scusa nelle altre pagine non hai bisogno di ricontrollare se le variabili di sessione suno uguali a quelle del database.... se la pagina di login le ha settate vuol dire che l'utente si e' autenticato correttamente.....

    Quindi se dentro ad $_SESSION['utente'] c'e' qualcosa..... puoi fidarti e far vedere la pagina... o almeno io cosi' credo.... se sbaglio qualcuno mi smentisca....

    Ciao ciao
    No pvt per sollecitare risposte, grazie.

  5. #5
    Originariamente inviato da lorenz_italy
    ah ho capito, no non inserivo session_start() nelle altre pagine...però comunque il problema non è risolto perchè io le variabili $nome e $password le imposto in login poi quando vado nelle altre pagine spariscono...e quando torno al login come faccio a confrontarle con le sessioni che ho creato?
    Non ha senso quello che vuoi fare.

    Il riconoscimento dell'utente deve avvenire una sola volta, la prima.

    Dopodiche' la sessione verra' riconosciuta automaticamente con la lettura del cookie di sessione sul CLIENT che e' stato automaticamente inviato al momento del session_start() dal SERVER.

    Quando nelle pagine successive che inizieranno con session_start() verra' letto il cookie, verra' riesumato l'array $_SESSION che era stato serializzato nel file di sessione. Se l'id manca o se non dovesse trovare la corrispondenza tra gli id di sessione validi verra' aperta un nuova sessione, ovviamente vuota.

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

  6. #6
    Ciao Pier.mac...vi ringrazio per l'aiuto.

    Sicuramente avrò scelto una soluzione poco elegante che non sto quì a postare. Grazie ai suggerimenti sono riuscito a far funzionare le sessioni. Alleluja!!

    Però si presenta un altro problema...ho creato un file logout.php che in teoria dovrebbe distruggere le sessioni create.
    Mi sono accorto però che non vengono affatto distrutte.
    L'unico modo per distruggerle e chiudere il browser.
    Perchè?

    in logout ho provato con diversi codici:

    1)
    Codice PHP:
    <?php
        session_start
    ();
        
    session_destroy();
        
    header("Refresh: 4; URL=index.php");

    ?>
    2)
    Codice PHP:
    <?php
        session_start
    ();
        
    $_SESSION['user'] = "";
            
    $_SESSION['pass'] = "";
        
    header("Refresh: 2; URL=index.php");

    ?>

  7. #7
    codice:
    <?php 
        session_start();
        $_SESSION = array(); 
        session_destroy(); 
        header("Refresh: 4; URL=index.php"); 
    ?>

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

  8. #8
    Grazie!!!!
    Grazie!!!!
    Grazie!!!!
    ...infinitamente!!

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.