Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    18

    Doppio login per cookie

    Ciao ragazzi, ho creato una semplice pagina privata nella quale per accedere devo loggare e settare un cookie, il problema è che qualche volta (ho notato con un profilo in particolare, ma non so se succede sempre siccome uso più spesso quel profilo) se clicco su login, inserendo i dati corretti, si riaggiorna solamente la pagina e soltanto al secondo click viene generato il cookie.. Vi è capitato a voi?
    Da cosa potrebbe esser dato questo problema?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    18
    Ragazzi nessuno può darmi una mano? :P

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Bisognerebbe vedere il codice.

    Intanto azzardo: non è che la creazione del cookie l'hai messa dentro un if per il quale la condizione diventa vera solo al secondo click?

    Il fatto che a volte succede e a volte no potrebbe dipendere dalla cache del browser.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    18
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Bisognerebbe vedere il codice.

    Intanto azzardo: non è che la creazione del cookie l'hai messa dentro un if per il quale la condizione diventa vera solo al secondo click?

    Il fatto che a volte succede e a volte no potrebbe dipendere dalla cache del browser.
    Provo a postare il codice.

    Ho creato due funzioni, una che verifica che il cookie sia valido e l'altra che restituisce il nome utente associato al cookie, nella mia pagina protetta, se il cookie è valido e se il nome utente è 'admin' allora carica il contenuto

    Codice PHP:
    $utente $_COOKIE['usloginmc'];
    $resu verifica($utente);
    if ((
    $resu) && (nome_ut($utente) == 'admin')) { 
        
    /*carica pagina 

    per fare il login uso un classico form che manda tramite la POST il nome utente e la password che ha a grandi linee questo codice:
    Codice PHP:
    $userid $_POST['userid'];    
    $password $_POST['pssw'];    
    $userid mysqli_real_escape_string($dbctrim($userid));    
    $password mysqli_real_escape_string($dbctrim($password));    
    $password md5($password SALT);    
    $query "SELECT * FROM mc_username WHERE username = '$userid' AND password = '$password'";    
    $result mysqli_query($dbc$query);    
    if (
    mysqli_num_rows($result) == 1) {        
    $row mysqli_fetch_array($result);        
    $id $row['coduser'];        
    setcookie('usloginmc'$idtime() + 7200);   
     }  
    header('Location: www.miosito.it'); 
    l'header mi riporta alla pagina di login, in questo caso dovrebbe generare il cookie, riportarmi alla pagina di login e farmi vedere il contenuto che prima era nascosto.. invece visualizzo ancora il form e devo riloggare un altra volta per visualizzare il contenuto!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    18
    Nessun idea? :/

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Invece di settare il cookie, metti un echo che ti faccia capire se nell'if ci entri oppure no, così capisci se la query da l'esito atteso ed escludi un problema di cookie, visto che un echo di sicuro non fallisce.

    Ovviamente devi togliere anche il redirect, altrimenti è capace che non fai in tempo a leggere l'eventuale output dell'echo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    18
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Invece di settare il cookie, metti un echo che ti faccia capire se nell'if ci entri oppure no, così capisci se la query da l'esito atteso ed escludi un problema di cookie, visto che un echo di sicuro non fallisce.

    Ovviamente devi togliere anche il redirect, altrimenti è capace che non fai in tempo a leggere l'eventuale output dell'echo.
    Grazie mille per la risposta. Sto provando da giorni a risolvere il problema e noto che compare eventualmente soltanto la prima volta che accedo ma non sempre. In effetti sembra avvenire quasi esclusivamente la prima volta che, dopo aver acceso il pc, mi connetto al sito. Ma questo succede da qualsiasi pc.. Ho messo un echo che mi mostra le righe coinvolge dalla query e mi restituisce correttamente 1 nelle varie prove.. Non so più dove sbatter 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 © 2024 vBulletin Solutions, Inc. All rights reserved.