Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: Sessioni e databae

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    Sessioni e databae

    Volevo avere delle informazioni a riguardo .... Io per ora quando effetuo il login creo una normale sessione... Se io volessi salvare le sessioni sul dbcome faccio? E come poi le recupero per capire che un utente è loggato?

  2. #2
    per salvare una sessione nel database devi serializzarne il contenuto tramite il comando serialize. per poi recuperare il contenuto, riavvii la sessione, recuperi i dati dal database e tramite il comando unserialize li "deserializzi" e li risalvi nella sessione
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da mr.click
    per salvare una sessione nel database devi serializzarne il contenuto tramite il comando serialize. per poi recuperare il contenuto, riavvii la sessione, recuperi i dati dal database e tramite il comando unserialize li "deserializzi" e li risalvi nella sessione
    al momento del login creo una sessione, e questa, dopo averla fatta "serializzata" (serialize) la salvo nel database.

    fin qui tutto ok

    ora, quando voglio vedere se la sessione esiste, cioè se l'utente è loggato cosa devo fare?

    tipo

    Codice PHP:
    //creo la sessione
    $utente $_SESSION['utente']; // sessione che salverò nel database
    $nickname $_SESSION['nickname']; // sessione che rimarrà salvata nel server pr sapere il nickname (ma serve, io penso di no)


    //serializzo
    $utente_ser serialize($utente);


    //salvo la sessione nel db serializzandola
    mysql_query("INSERT INTO session (sessione) VALUES ('".mysql_escape_string($utente_ser)."')") or die("Errore alla linea ".__LINE__.": ".mysql_error()) ;


    //controllo se l'utente è loggato cioè se la sua sessione esiste
    $sql "SELECT * FROM session WHERE nickname = '$nickname'";
    $query = @mysql_query("$sql");
    $row mysql_fetch_array($query);


    //se la sessione è uguale a quella salvata nel database è loggato altrimenti no
    if ($utente == unserialize($row[sessione])) {

    echo 
    "CONNESSO";

    } else {

    echo 
    "NON CONNESSO";


    è giusto? (non penso) cosa sbaglio? chi mi aiuta?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    http://forum.html.it/forum/showthrea...4#post12719804

    la discussione e' un po' lunga, l'ultimo post contiene la soluzione finale ma non so se ti bastera' per capire tutto....

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    grazie della risposta.. mi sono letto un pò al discussione... ma a me servirebbe ceh qualcuno mi riesca a spiegare la logica e il funzionamento della sessione salvata su database..

    cioè come salvo la sessione sul database? come la recupero la sessione del determinato utente per veder che è veramente collegato? etc ..

  7. #7
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    mi riuscite a spiegare quello che devo fare per una gestione delle sessioni su database?

    io non capisco il funzionamento, cioè come utilizzarle....

    ho una tabella del db con i dati degli utenti (nick, pass email etc) e una tabella dove registro le sessioni

    faccio il normale login, quindi confronto nick e pass e se corrispondono ad uno utente presente nel db lo autentico e quindi creo la sessione.
    Questa sessione devo crearla normalmente e poi salvarla pure sul database? e poi per vedere se uno è autenticato devo solo confrontare le due sessioni se esistono? cioè quella sul server se è uguale a quella de database? o il funzionamento e la logica è diversa?

  8. #8

  9. #9

  10. #10

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 © 2024 vBulletin Solutions, Inc. All rights reserved.