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

    [PHP+cookies] Non riesco a salvarlo su disco

    Sto imparando il PHP usandolo, come tanti altri; giuro che prima di scrivere ho cercato un eventuale post preesistente, ma non l'ho trovato...

    Orbene, questo è il mio script, contenuto nella pagina "login.php":
    __________________________________________________ __________________________

    <?php
    $cookie=$_COOKIE["nomecookie"]; // Anzitutto richiedo un cookie

    if(!$cookie) // Se non ricevo cookies preesistenti...
    {
    $nome=$_REQUEST['nome']; // ...controllo se ho appena inserito il nome...

    if(!$nome) // ...altrimenti lo richiedo e ricarico la pagina (1)
    {
    echo '<html><body><center>




    ';
    echo 'Al momento non ci sono cookies; metti il tuo nome e premi invio...
    ';
    echo '<form action="login.php" method="post">Nome: <input type="text" name="nome"></form>';
    echo '</center></body></html>';
    }

    else // Almeno il nome c'è, quindi setto il nuovo cookie (2)
    {
    $filtro="1";
    $stringa=$nome."|".$filtro;

    if (setcookie("nomecookie",$stringa,time()+3600,"/"))
    {
    echo '<html><body>';
    echo '


    Benvenuto, '.$nome.'! Il cookie sembra funzionare, per ora. Adesso esci da Internet, e ricollegati a questa pagina...';
    echo '</body></html>';
    }
    else
    {
    echo 'Errore!'; // Questo non lo ha visualizzato mai, per fortuna...
    }
    }
    }

    else // Il cookie viene ricevuto e riconosciuto (3)
    {
    list($nome,$filtro)=explode("|",$cookie) ;

    echo '<html><body>';
    echo '


    Bentornato, '.$nome.'! Il cookie sembra funzionare.';
    echo '</body></html>';
    }
    ?>
    __________________________________________________ __________________________

    Ecco cosa succede:

    Mi collego per la prima volta, lo script va al punto (1) e mi chiede il nome; giusto.
    Mi ricarica la pagina, va al punto (2) e mi saluta; giusto.
    Chiudo il browser; mi ricollego, va al punto (3) e mi riconosce; giusto.
    Chiudo il browser, riavvio il sistema, mi ricollego... e torna al punto (1); SBAGLIATO!
    ...dovrebbe andare al punto (3) e riconoscermi, ma il cookie non è stato salvato su disco e quindi è andato perso nel riavvio. Dove ho sbagliato?

    Premetto che il mio browser è settato con livello di sicurezza minimo (accetta tutto) e che non ho mai avuto problemi con cookies di altri siti...

    Attendo lumi... ;_;
    Paolo Buscaglino Strambio
    ADAM Italia

  2. #2
    Guarda, mi è successa una cosa simile con un sito che gestisco . In questo sito non mi rimaneva neanche un istante il cookie, ho scoperto poi, perché l'orario del server era indietro di un giorno rispetto a quello reale ed il cookie veniva creato scaduto. Non è che l'hai su di un altra macchina senza ora legale impostata?

  3. #3
    Mi è venuta in mente un altra cosa, sei sicuro che time ritorni la data corretta con l'ora legale?

    Come non detto, ho provato, ma la mia domanda sopra rimane

  4. #4
    Geniale! Dovevo provarlo...

    Scherzi a parte, in precedenza avevo settato il timing a 100 anni, e ho visto altrove che con ciò si resettava l'orologio, ripetendo l'errore... Al che l'ho settato ad un'ora, ma all'ora legale non ci avevo proprio pensato! Grazie, grazie...

    Una curiosità: fino a che data potrei settarlo, prima che l'orologio torni a zero?
    Oppure, posso impostargli la data in forma gg/mm/aaaa?

    In ogni caso, per ora il problema è risolto!
    Paolo Buscaglino Strambio
    ADAM Italia

  5. #5
    sai che c'è un modo di settare il cookie in modo che non scada mai? Non mi ricordo la sintassi, ma, quello che conosco io, consiste nel mettere expire = -1

  6. #6
    In ogni caso, settandolo a +10 anni mi va più che bene.
    Scusa se ti ho fatto perdere un po' di tempo.
    Paolo Buscaglino Strambio
    ADAM Italia

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.