Visualizzazione risultati 1 fino 7 di 7

Discussione: Cookie non si chiude

  1. #1
    Guest

    Predefinito Cookie non si chiude

    Salve, ho un problema che non riesco a capire come sistemare.

    Il problema è molto semplice, io creo un cookie settandolo come preferisco, solo che quando voglio chiudere questo cookie cliccando su un bottone questo non si cookie non si chiude.

    Questo è il codice inserito nel file per la creazione del cookie.
    Codice PHP:
    <?php
    include_once 'config.php';
    if (isset(
    $_COOKIE['utente']) || isset($_GET['secure']))
    {
    $username = $_COOKIE['utente'];
    echo
    "<logreg><a href='disconnessione/exit.php?exit=Esci' id='reg'>Disconnettiti $username</a></logreg>";
    }
    else
    {
    echo
    "<logreg>
    <form action='' method='POST'>
    <input type='text' name='user' value='Username' class='username' />
    <input type='password' name='pass' value='password' class='password'/>
    <input type='checkbox' name='multi' value='multigamers' />
    <input type='submit' value='Entra' class='submit' name='Login' />
    </form>
    <button id='reg'>Registrati</button>
    </logreg'>"
    ;

    if (isset(
    $_POST['Login']))
    {
    $user=$_POST['user'];
    $pass=$_POST['pass'];
    $multi=$_POST['multi'];
    $hash=hash(sha512 , $pass);
    $resultlog= mysql_query("SELECT * FROM utenti WHERE user='$user' AND pass='$hash'");
    while(
    $trasrealname=mysql_fetch_array($resultlog)){
    $realname=$trasrealname['user'];
    }
    $controllolog=mysql_num_rows($resultlog);
    if(isset(
    $multi)){
    mysql_query("UPDATE utenti SET online='1' WHERE user='$realname'");
    $secure=hash(md5 , $realname);
    header("Location: index.php?secure=".$secure);
    }
    else{
    if(
    $controllolog!=0){
    mysql_query("UPDATE utenti SET online='1' WHERE user='$realname'");
    setcookie("utente" , $realname , time()+3600*365 );
    header("Location: index.php");
    }

    else{
    echo
    "<script>alert('I dati sono errati!');</script>";
    }
    }
    }
    }
    ?>

    Questo per la chiusura del cookie:

    Codice PHP:
    <?php

    if($_GET['exit']=='Esci'){
    setcookie("utente","");//provato anche a scrivere setcookie("utente","", time()-36000*365)
    header("Location: http://gogogames.altervista.org/");
    }

    ?>
    Sarà forse per via del:
    Codice PHP:
    if (isset($_COOKIE['utente']) || isset($_GET['secure']))
    {
    $username = $_COOKIE['utente'];
    echo
    "<logreg><a href='disconnessione/exit.php?exit=Esci' id='reg'>Disconnettiti $username</a></logreg>";
    }
    else
    {...
    Io non credo... per favore se qualcuno riesce a capire quale sia il problema, per favore mi risponda.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Codice PHP:
    setcookie("utente","");//provato anche a scrivere setcookie("utente","", time()-36000*365)
    Devi impostare una data negativa come hai scritto nel commento.... Così dovrebbe andare...

    Ma: per il login usi i cookie? Come controlli se un utente è loggato nelle pagine private (se ci sono) ?

    Ciao!
    Ultima modifica di alemoppo : 02-12-2011 alle ore 15.26.37 Motivo: *Corretto prIvate

  3. #3
    Guest

    Predefinito

    Si per questo sito si, utilizzo i cookie dato che così posso trasportare dei valori per molto tempo, invece delle sessioni che si chiudono con la chiusura del browser.

    (Come controlli se un utente è loggato nelle pagine provate (se ci sono) ?) per questo a me non importa molto(per ora).

    comunque non mi va lo stesso.
    Ultima modifica di gogogames : 02-12-2011 alle ore 15.26.50

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Citazione Originalmente inviato da gogogames Visualizza messaggio
    Si per questo sito si, utilizzo i cookie dato che così posso trasportare dei valori per molto tempo, invece delle sessioni che si chiudono con la chiusura del browser.
    Usando in combo sessioni e cookie si può evitare questo problema. Infatti nei siti con il ricordami si utilzzano proprio i cookie.

    Citazione Originalmente inviato da gogogames Visualizza messaggio
    (Come controlli se un utente è loggato nelle pagine provate (se ci sono) ?) per questo a me non importa molto(per ora).
    Il fatto è che i cookie non sono il massimo della sicurezza. Se non controlli ogni volta password e nick salvati sui cookie, [ un gioco da ragazzi entrare nel sito loggandosi con altre persone... Invece le sessioni, visto che son salvate lato server, sono sicure.

    Comunque, con una data passata dovrebbe andare. Assicurati che quella setCookie venga eseguita.

    Ciao!
    Ultima modifica di alemoppo : 02-12-2011 alle ore 15.31.52

  5. #5
    Guest

    Predefinito

    A me viene eseguita infatti ho fatto anche vari test:

    Codice PHP:
    if($_GET['exit']=='Esci'){
    $prova = setcookie("utente","", time()-360000*365);
    if(
    $prova){
    echo
    "<script>alert('va');</script>";
    }
    else
    echo
    "<script>alert('Non va');</script>";
    }
    }
    A me dava sempre va. Ora farò altri test con date più elevate.

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Guarda che è corretto se ritorna true: significa che è riuscito a settarlo correttamente!

    Ciao!

  7. #7
    Guest

    Predefinito

    Il brutto che ritorna avere il valore che aveva prima se cerco di rissettarlo con un valore nullo.

    Ho aggiustato il problema, per distruggere il cookie ho aggiunto il path '/' cosicche per tutto il sito quel cookie andasse distrutto.
    Ultima modifica di gogogames : 02-12-2011 alle ore 16.44.25

Regole di scrittura

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