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

    Problema assurdo con sessioni

    Salve, ho questo problema veramente strano con questo codice, al login automatico prendendo i dati da un cookie(correttamente settato)

    Codice PHP:
    if(IsSet($_COOKIE['sav_user']) && !IsSet($_SESSION['user'])) //controllo se c'è il cookie e se non è già stato inserito l'utente della sessione 

      
    $info_cok=$_COOKIE['sav_user'];//Estraggo dal cookie i dati di sav_user
      
    $cok_user=strtok($info_cok,"%%");//Estraggo il nome utente, che ho inserito nel cookie separandolo dalla password con "%%"
      
    $cok_pass=strtok("%%");//Il turno della password
      
    setcookie("sav_user",$info_cok,time()+31536000);//Aggiorno la scadenza del cookie
    $messaggio.=" settato il cookie";//Messaggio inserito da me per controllare che i vari passaggi venissero eseguiti correttamente.

    $query "SELECT username, forum FROM iscritti WHERE username='" $cok_user "' && password='" $cok_pass "'";//Cerco l'utente
    $result mysql_query($query$db);

    if (
    $utente mysql_fetch_array($result))//Qua praticamente non mi da mai il risultato vero, anche inserendo manualmente i dati nella query(invece delle variabili estratte)
    {
    $messaggio.= " e trovato dal cookie";
    $_SESSION['user']=$utente[username];//Setto l'utente della sessione
    $_SESSION['forum']=$utente[forum];
    }

    I vari passaggio vengono eseguiti correttamente, non capisco dove possa essere il problema...

  2. #2
    invece di:

    if ($utente = mysql_fetch_array($result))//

    metti:

    if(mysql_num_rows($result) == 1)

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

  3. #3
    Funziona.
    Ma perchè da questo problema? Quando pongo quella condizione in qualunque altra pagina del sito(e persino quando faccio il login attraverso il form!) non da nessun errore...


    Comunque grazie mille.

  4. #4
    Originariamente inviato da II ARROWS
    Funziona.
    Ma perchè da questo problema? Quando pongo quella condizione in qualunque altra pagina del sito(e persino quando faccio il login attraverso il form!) non da nessun errore...


    Comunque grazie mille.
    sinceramente non mi e' mai piaciuto verificare se un array e' TRUE o FALSE a quel modo. Ti aspetti UNO o NESSUN record, allora controlla che sia uno e non piu' di uno oppure zero.

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