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

    Un Cookie che non funziona correttamente

    Salve a tutti,
    ho un problema con un cookie che non vuole funzionare.

    Nel mio sistema di conteggio degli utenti online ho fatto un filtro per cercare di risparmiare un pò di query, in cui chiedo se l'utente esiste dopo un tot di tempo passato dal cookie che gli ho settato.

    Mi spiego col codice che è più semplice a farsi che a dirsi.

    Codice PHP:
    if (!isset($_COOKIE['A_time'])) {  // se il cookie non c'è più sono passati xy secondi, quindi vai!

                        // aggiorniamo il suo tempo
                        
    $sql"........'";
                        
    mysql_query ($sql);
                        
                        
    // nel frattempo  facciamo fuori tutti gli utenti offline
                        
    $sqlelimina "UPDATE .......";
                        
    mysql_query ($sqlelimina);
                        
                
    // risettiamogli il cookie di 120 secondi
                
    $durata "120"// secondi
                
    setcookie("A_time"$oratime() + $durata"/");
                } 
    In teoria lui dovrebbe aver creato il cookie per 120 secondi ma in pratica non è così, quindi questa operazione la fa sempre.

    In cosa sto sbagliando???
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Ho provato anche con ob_start all'inizio e ob_end,
    ma niente, continua a non crearlo!!!
    Perchè uso Maxthon? | Mi piace questa chat

  3. #3
    Ma il cookie lo controlli nella stessa pagina in cui lo crei senza ricaricarla? Perchè come da manuale:

    codice:
    Once the cookies have been set, they can be accessed on the next page load
    Per cui esso è visibile solo dalle nuove pagine caricate dopo la sua creazione.
    Inoltre la durata è un valore numerico e non stringa, quindi, anche se per PHP dovrebbe essere lo stesso, prova a modificare:

    Codice PHP:
    setcookie("A_time"$oratime() + 120"/"); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    No, ovviamente mi aspettavo di leggerlo alla pagina successiva, cosa che comunque non accade.

    Ho già provato a mettere un numero anzichè la stringa ma niente,
    siccome è una giornata interea che sto dietro a questo stupido problema, sto settando il cookie a tutti all'inizio di tutti i file del sito, evitando cosi qualsiasi problema relativo agli header sent.

    Grazie!
    Perchè uso Maxthon? | Mi piace questa chat

  5. #5
    La cosa comica è che ha funzionato 2 minuti, poi non più.

    codice:
    if (!isset($_COOKIE['A_onlinetime'])) {
    setcookie("A_onlinetime", 1, time() + 160, "/");
    }
    Questo è in testa a tutto, ma non lo scrive.
    Perchè uso Maxthon? | Mi piace questa chat

  6. #6
    Originariamente inviato da Bukowski
    La cosa comica è che ha funzionato 2 minuti, poi non più.

    codice:
    if (!isset($_COOKIE['A_onlinetime'])) {
    setcookie("A_onlinetime", 1, time() + 160, "/");
    }
    Questo è in testa a tutto, ma non lo scrive.
    Qui però lo chiami "A_onlinetime", nello script precedente verifichi "A_time" !?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Si tranquillo
    lo cambio per evitare di svuotare ogni volta i cookie del browser,
    garantisco che il nome è sempre lo stesso.
    Perchè uso Maxthon? | Mi piace questa chat

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.