Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Sessioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178

    Sessioni

    Ho letto il seguente articolo: http://freephp.html.it/articoli/view...olo.asp?id=132

    Tendendo presente che:

    ---auth.lib.php---
    ..
    ....
    Codice PHP:
    function auth_get_status(){
        global 
    $_CONFIG;

        
    auth_clean_expired();
        
    $uid auth_get_uid();
        if(
    is_null($uid))
            return array(
    100NULL);
        
        
    $result mysql_query("SELECT U.name as name, U.surname as surname, U.username as username, U.password as password
        FROM "
    .$_CONFIG['table_sessioni']." S,".$_CONFIG['table_utenti']." U
        WHERE S.user_id = U.id and S.uid = '"
    .$uid."'");
        
        if(
    mysql_num_rows($result) != 1)
            return array(
    100NULL);
        else{
            
    $user_data mysql_fetch_assoc($result);
            return array(
    99array_merge($user_data, array('uid' => $uid)));
        }
    }

    function 
    auth_login($uname$passw){
        global 
    $_CONFIG;

        
    $result mysql_query("
        SELECT *
        FROM "
    .$_CONFIG['table_utenti']."
        WHERE username='"
    .$uname."' and password=MD5('".$passw."') and temp = '0'"
        
    );
        
        if(
    mysql_num_rows($result) != 1){
            return array(
    AUTH_INVALID_PARAMSNULL);
        }else{
            
    $data mysql_fetch_array($result);
            return array(
    AUTH_LOGEDD_IN$data);
        }

    ..
    ....

    L’utente registrato accede ad una pagina come questa:

    ----pagina2.php----
    Codice PHP:
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$user) = auth_get_status();

    if(
    $status == AUTH_LOGGED){ 

    }

    else { 

    Non sono riuscito a capire quale sia il metodo (in pagina2.php) per estrapolare dal database le info dell'utente e stamparle a video.
    Potete scrivermi la query/comando da usare?

    Tutto il codice è spudoratamente copiato da quell’articolo lo so, a me interessa sapere come funzionano le sessioni.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Ditemi solo come richiamare dati dal database quando è aperta una sessione dalla pagina precedente.. heeeeeeellp

  3. #3
    Ti vengono passati direttamente nell'array di ritorno della uth_get_status(), quindi invece di:

    list($status, $user) = auth_get_status();

    fai

    list($status, $name, $surname, $user, $password, $uid) = auth_get_status();

    e hai tutto...

    Verifica i campi ritornati dalla auth_get_status() potrei non averli scritti corretti, semmai per prova fai:

    $risultato = auth_get_status();
    print_r($risultato);

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Codice PHP:
    <?
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$name$surname$username) = auth_get_status(); 

    if(
    $status == AUTH_LOGGED){ 
    $risultato auth_get_status(); 
    print_r ($risultato);

    }
                              
    else { 
    }
    ?>
    L'array mi viene stampato a video correttamente ma non capisco come possa richiamare solo una variabile alla volta.
    Ho provato con:

    Codice PHP:
    $risultato auth_get_status($username);
    print_r ($risultato); 
    Ma mi stampa sempre tutto l'array!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Ho capito quale è la mia lacuna.

    Visto che
    Codice PHP:
    <?
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$username) = auth_get_status(); 


    if(
    $status == AUTH_LOGGED){ 
    print 
    $status;
    }
                              
     else { 
          }
    ?>
    mi restituisce l'esatto valore di status, davo per scontato che
    Codice PHP:
    <?
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$username) = auth_get_status(); 


    if(
    $status == AUTH_LOGGED){ 
    print 
    $username;
    }
                              
     else { 
          }
    ?>
    mi restituisse l'user dell'utente registrato, invece mi restituisce tutto l'array.
    Siuramente l'istruzione da usare per escorpare solo un elemento dell'array è di diversa natura.
    Potrei sapere come?

  6. #6

    Gestione utenti PHP

    Ciao a tutti, sto implementando lo stesso script fornito da HTML.IT nel mio sito web per gestire l'accesso a determinate pagine riservate. Ho riscontrato un problema molto importante: il login può essere effettuato solo da un unico utente .

    Ossia, quando un secondo utente effettua il login da un altro terminale la sua sessione sovrascrive quella del primo utente. Nella tabella sessioni del database compare quindi solo un records, abbattendo quindi il permesso dell'utente precedente.Non capisco questa cosa dato che il la query sql è INSERT INTO....quindi dovrebbe inserire un nuovo records e non andando ad aggiornarlo anche perchè il login viene effettuato oltre che da due postazioni differenti anche da due utenti diversi.

    Lo script fornito da HTML.IT non è stato modificato (eccetto i parametri di connessione al database e al server). Avete riscontrato anche voi questo problema? Qualcuno mi sa indicare la soluzione?

    Ciao grazie

  7. #7
    Riporto un pò su il topic, se qualucno mi dà una mano, sarebbe importante dato che sono tre giorni che ci sbatto la testa

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.