Visualizzazione risultati 1 fino 19 di 19

Discussione: Cancellare cookie array

  1. #1
    Guest

    Predefinito Cancellare cookie array

    allora ho creato uno script che imposta un cookie array
    Codice PHP:
    setcookie("dati[nome]","$nome",time()+3600*24*365);
    setcookie("dati[cognome]","$cognome",time()+3600*24*365);
    setcookie("dati[email]","$email",time()+3600*24*365);
    setcookie("dati[telefono]","$telefono",time()+3600*24*365);
    setcookie("dati[indirizzo]","$indirizzo",time()+3600*24*365);
    e uno che li legge
    Codice PHP:
    if(isset($_COOKIE["dati"])) {
    echo
    "Nome:".$_COOKIE["dati"]["nome"]."<br>";
    echo
    "Cognome:".$_COOKIE["dati"]["cognome"]."<br>";
    echo
    "Email:".$_COOKIE["dati"]["email"]."<br>";
    echo
    "Telefono:".$_COOKIE["dati"]["telefono"]."<br>";
    echo
    "Indirizzo:".$_COOKIE["dati"]["indirizzo"]."<br>";
    echo
    "Per cancellare i dati clicca <a href=\"?action=cancel\">qui</a>";
    }
    se notate alla fine ho messo un url che da a GET action=cancel nella stessa pagina ho implementato con questo codice
    Codice PHP:
    if($_GET["action"] == "cancel") {
    setcookie("dati[nome]","",time()-3600*24*365);
    setcookie("dati[cognome]","",time()-3600*24*365);
    setcookie("dati[email]","",time()-3600*24*365);
    setcookie("dati[telefono]","",time()-3600*24*365);
    setcookie("dati[indirizzo]","",time()-3600*24*365);
    }
    in teoria dovrebbe cancellare il cookie ma non funziona
    potete aiutarmi?

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Prova così:
    Codice PHP:
    if($_GET["action"] == "cancel") {
    setcookie("dati","");
    }
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    no, non funziona

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Sicuro? Io ho messo insieme un po' tutti i tuoi codici:
    Codice PHP:
    <?php
    $nome
    = "Michelangelo";
    $cognome = "***";
    $email = "my@mail.it";
    $telefono = "+39.3xxxxxxx";
    $indirizzo = "Via...";

    if(
    $_GET["action"] == "cancel") {
    setcookie("dati[nome]","",time()-3600*24*365);
    setcookie("dati[cognome]","",time()-3600*24*365);
    setcookie("dati[email]","",time()-3600*24*365);
    setcookie("dati[telefono]","",time()-3600*24*365);
    setcookie("dati[indirizzo]","",time()-3600*24*365);
    }

    if(empty(
    $_GET['action'])){

    setcookie("dati[nome]","$nome",time()+3600*24*365);
    setcookie("dati[cognome]","$cognome",time()+3600*24*365);
    setcookie("dati[email]","$email",time()+3600*24*365);
    setcookie("dati[telefono]","$telefono",time()+3600*24*365);
    setcookie("dati[indirizzo]","$indirizzo",time()+3600*24*365);
    }

    if(isset(
    $_COOKIE["dati"])) {
    echo
    "Nome:".$_COOKIE["dati"]["nome"]."<br>";
    echo
    "Cognome:".$_COOKIE["dati"]["cognome"]."<br>";
    echo
    "Email:".$_COOKIE["dati"]["email"]."<br>";
    echo
    "Telefono:".$_COOKIE["dati"]["telefono"]."<br>";
    echo
    "Indirizzo:".$_COOKIE["dati"]["indirizzo"]."<br>";
    echo
    "Per cancellare i dati clicca <a href=\"?action=cancel\">qui</a>";
    }

    ?>
    Sembra che non li cancella però poi premo F5 e non si visualizza nulla, controllo i cookie manualmente e non esistono più.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    Guest

    Predefinito

    grazie mille ma non funziona ti posto come ho fatto io lo script
    Codice PHP:
    <? if($_GET["action"] == "cancel") {
    setcookie("dati[nome]","",time()-3600*24*365);
    setcookie("dati[cognome]","",time()-3600*24*365);
    setcookie("dati[email]","",time()-3600*24*365);
    setcookie("dati[telefono]","",time()-3600*24*365);
    setcookie("dati[indirizzo]","",time()-3600*24*365);
    }
    if(isset(
    $_COOKIE["dati"])) {
    echo
    "Nome:".$_COOKIE["dati"]["nome"]."<br>";
    echo
    "Cognome:".$_COOKIE["dati"]["cognome"]."<br>";
    echo
    "Email:".$_COOKIE["dati"]["email"]."<br>";
    echo
    "Telefono:".$_COOKIE["dati"]["telefono"]."<br>";
    echo
    "Indirizzo:".$_COOKIE["dati"]["indirizzo"]."<br>";
    echo
    "Per cancellare i dati clicca <a href=\"?action=cancel\">qui</a>";
    } else {
    ?>
    <h3>Inserimento Dati</h3>
    <form method="post" action="inserimento dati.php?action=dati">
    <table width="200" border="0">
    <tr>
    <td width="72">Nome*:</td>
    <td width="112"><input type="text" name="nome"></td>
    </tr>
    <tr>
    <td>Cognome*:</td>
    <td><input type="text" name="cognome"></td>
    </tr>
    <tr>
    <td>e-mail*:</td>
    <td><input type="text" name="email"></td>
    </tr>
    <tr>
    <td>Telefono:</td>
    <td><input type="text" name="telefono"></td>
    </tr>
    <tr>
    <td>Indirizzo:</td>
    <td><input type="text" name="indirizzo"></td>
    </tr>
    <tr>
    <td></td>
    <td><input type="submit" value="Invia!"></td>
    </tr>
    </table>

    </form>
    <? } ?>
    forse riesci a capire cosa sbaglio

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ti mostro cosa mi è saltato subito all'occhio
    1) inserimento dati.php?action=dati contiene uno spazio.
    2) Non è specificando quando la variabile (GET) action contiene "dati" lo script cosa deve fare.
    3) Hai mancato la parte dove setti i cookie.

    Se poi il codice deve essere così dimmelo che cerco qualche soluzione.
    Ultima modifica di miki92 : 21-12-2008 alle ore 11.31.00
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    Guest

    Predefinito

    scusa, mi sono spiegato male
    le pagine sono due, questa che ho postato si chiama dati.php
    ti posto il codice di inserimento dati
    Codice PHP:
    <?php
    $action
    =$_GET["action"];
    if(
    $action == "firma") {
    $firma=$_POST["firma"];
    if(
    $firma == null) {
    echo
    "<div align=\"center\">Hai dimenticato il nome!</div>";
    } else {
    setcookie("firma", $firma,time()+3600*24*365);
    $firma=strip_tags($firma);
    $fp=fopen("firme.txt","a");
    fputs($fp, ", $firma");
    fclose($fp);
    header("location: http://webeasy.altervista.org/");
    }
    }
    if(
    $action == "dati") {
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $email=$_POST['email'];
    $telefono=$_POST['telefono'];
    $indirizzo=$_POST['indirizzo'];
    if(
    $nome == null) {
    header("location: http://webeasy.altervista.org?error=nome/");
    }
    if(
    $cognome == null) {
    header("location: http://webeasy.altervista.org?error=cognome/");
    }
    if(
    $email == null) {
    header("location: http://webeasy.altervista.org?error=email/");
    }
    setcookie("dati[nome]","$nome",time()+3600*24*365);
    setcookie("dati[cognome]","$cognome",time()+3600*24*365);
    setcookie("dati[email]","$email",time()+3600*24*365);
    setcookie("dati[telefono]","$telefono",time()+3600*24*365);
    setcookie("dati[indirizzo]","$indirizzo",time()+3600*24*365);
    header("location: http://webeasy.altervista.org/");
    }
    ?>
    la parte GET firma è di un altro script

  8. #8
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    Codice PHP:
    <?
    if($_GET["action"] == "cancel") {
    $dietime=3600*24*365;
    setcookie("dati[nome]","",time()-$dietime);
    setcookie("dati[cognome]","",time()-$dietime);
    setcookie("dati[email]","",time()-$dietime;
    setcookie("dati[telefono]","",time()-$dietime);
    setcookie("dati[indirizzo]","",time()-$dietime);
    }
    ?>
    se funziona poi ti spiego perchè....

  9. #9
    Guest

    Predefinito

    non per offendere ma è identico a quello che ho fatto io solo che passi il tempo in una variabile
    comunque ho provato ma non funziona
    grazie mille ad entrambi ma proprio non capisco come si possano cancellare questi cookie visto che le ho provate tutte
    qualche altra idea?

  10. #10
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    provato con unset() ?

  11. #11
    Guest

    Predefinito

    non conosco il comando unset(), me lo puoi spiegare grazie

  12. #12
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    neanche io lo uso molto :D
    http://php.net/unset

    Codice PHP:
    <?
    unset($_COOKIE['dati']);
    ?>

  13. #13
    Guest

    Predefinito

    no, non cancella i cookie li nasconde solo fiche non si va in un altra pagina

  14. #14
    Guest

    Predefinito

    I cookie non possono essere nascosti: o ci sono o non ci sono.

    Da questa tua ultima affermazione mi viene un dubbio: non è che fai settare in maniera automatica questi cookie? Ad esempio includendo qualche file...


    Ciao!

  15. #15
    Guest

    Predefinito

    intendo che vengono nascosti nel senso che i cookie rimangono ma invece di visualizzare le info reletive al cookie viene stampato il modulo che si ottiene quando i cookie non ci sono

  16. #16
    Guest

    Predefinito

    Appunto "come quando non si sono" vuol dire che non ci sono!
    Cioè che sono stati cancellati.

    Ripeto la domanda di prima, visto che, così come hai descritto la cosa, sembra che avvenga una cancellazione e una creazione una di seguito all'altra.


    Ciao!

  17. #17
    Guest

    Predefinito

    non credo che sia possibile perche l'inserimento dei cookie avviene in un altra pagina

  18. #18
    Guest

    Predefinito

    Nell'esempio che hai postato tu, no.
    E comunque questo non nega la mia ipotesi, anzi, la rafforza, perchè magari includi quella pagina o altre in cui si settano questi benedetti cookie.
    Dovresti fare un analisi un pochino più approfondita e pulire un po' il codice (e magari indentarlo un po') così da poterci capire di più (sia tu che noi)


    ciao!

  19. #19
    Guest

    Predefinito

    ok adesso ci provo

    edit:non riesco a trovare errori
    ma tu quando cancelli i cookie array cosa usi?
    Ultima modifica di webeasy : 21-12-2008 alle ore 16.30.24

Regole di scrittura

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