Visualizzazione risultati 1 fino 6 di 6

Discussione: Cookies

  1. #1
    Guest

    Angry Cookies

    Ragazzi ho un problema non indifferente: non so usare i cookies!
    Ho creato un login con il check "ricordami" e fin qui tutto ok... peccato che quando clicco su logout non mi faccia il logout!
    Io ho uasto questo codice:
    Codice:
    <?
    session_start();
    
    if(isset($_COOKIE['my'])){
    	setcookie("my"); /*questo crea un cookie con lo stesso nome
                 ma che scade subito*/
    	header("Location: ../");
    }
    /*e qui il funzionamento nel caso il login sia stato fatto senza spuntare il checkbox*/
    if($_SESSION['autorizzato'] == 1){
    	$_SESSION['autorizzato'] = 0;
    	header("Location: ../");
    }
    ?>
    peccato che così php mi crei un nuovo cookie che scade e mi lasci quello vecchio con la sua bella data di scadenza parecchio lontana al posto di sovrascrivere...

    Mi rendo conto che è una domanda banale perchè questo script è uno dei più usati del web ma.... DOVE SBAGLIOOOOOO!?!?

  2. #2
    Guest

    Predefinito

    Confondi cookie e sessioni.
    Il codice dev'esssere lo stesso in entrambi i casi, ma nel secondo devi specificare la durata di vita del cookie.

    PS: dovresti anche memorizzare un qualche valore per essere sicuro che il cookie venga salvato.


    Ciao!

  3. #3
    Guest

    Predefinito

    nono aspetta non ho capito! Il cookie lo salva perchè ho guardato nell'elenco dell'explorer e ci sono. Non ho caito come confondo sessioni e cookie... lascia stare la parte in cui setto la variabile nella sessione! Io voglio solo capire come cancellare un cookie... non mi potresti scrivere una riga di codice da sostituire alla mia?
    Codice:
    if(isset($_COOKIE['my'])){
    //	setcookie("my"); 
            /*Qui cosa scrivo?*/
    	header("Location: ../");
    }

  4. #4
    Guest

    Predefinito

    secondo la documentazione di setcookie (che andrebbe letta)
    Codice PHP:
    setcookie ("my", "", time() - 3600);
    come l'hai scritta tu setta un cookie di nome "my" con valore nullo che scade quando chiudi il browser

  5. #5
    Guest

    Predefinito

    Per salvare un cookie temporaneo:
    Codice PHP:
    setcookie('my','my');
    Per salvare un cookie duraturo:
    Codice PHP:
    setcookie('my','my',time()+3600); // 3600=1 ora
    Per cancellare un cookie:
    Codice PHP:
    setcookie('my','',time()-86400); // 86400 = 24h, giusto per essere sicuri

    Ciao!

  6. #6
    Guest

    Predefinito

    Uffa... ho letto la documentazione e avevo già provato i vostri codici ma nada... vabbé, riproverò fin che nn capisco dv sbaglio :S

    Grazie cmq ragazzi!

    EDIT: ragazzi ho risolto! il problema era la path! Io avevo creato i cookie inizali impostandoli per tutto il dominio mentre quando li cancellavo non passavo il parametro path :S
    Codice PHP:
    <?
    //Così lo creavo
    if($row['username']==$i_uname){
    if(
    $row['pwd']==$i_pwd){
    if(isset(
    $_POST['rem'])){
    setcookie("my", "1", time()+60*60*24*360, "/");
    }else{
    $_SESSION['autorizzato']=1;
    }
    header("Location: ../admin.php");
    break;
    }
    else{
    header("Location: ../admin_login.php?err=1");
    break;
    }
    }

    //... e così lo cancello!
    if(isset($_COOKIE['my'])){
    setcookie("my","",time()-3600*24, /* Eccolo qui il mio errore!! */ "/" /*Bastava dirgli di creare nel percorso giusto!*/);
    // echo "cookie scritto";
    header("Location: ../");
    }
    ?>
    Ultima modifica di debug : 19-02-2009 alle ore 10.08.49

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •