Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Problema con i cookie

  1. #1

    Problema con i cookie

    Salve, il problema non è come creare il cookie ma un altro.. Praticamente vorrei far in modo che una persona visualizzi una pagina, poi quando clicca sul submit del form si crei il cookie e al ritorno sulla pagina visualizzi che già hai fatto quell' operazione.. il problema è che se metto la creazione del cookie prima di:

    Codice PHP:
    if(isset($nomecookie)) {
    echo 
    "Hai già fatto questa operazione";
    } else {
    echo 
    "blablabla";

    Il cookie si crea anche se non si è visualizzata la pagina precedentemente, se lo metto dopo l' else non lo prende in considerazione per l' if precedente.. quindi come faccio?
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    con il submit richiami la stessa pagina o una pagina diversa?

  3. #3
    La stessa, piu' che submit sono input type button che fungono da submit
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    allora puoi creare il cookie dopo aver verificato che ci sia stato un submit

    if (isset($_POST['invia'])) crea cookie

    ipotizzando che invia sia il nome del pulsante submit

  5. #5
    Se ho capito bene direi che la creazione del cookie dovrebbe stare DENTRO il ramo else.

  6. #6
    mmm :S

    Ho scritto:

    Codice PHP:
    $scelto $_POST['scelta'];

    if (isset(
    $scelto)) {
    $zerocool setcookie ("zerocool","voto",time()+2592000,"/");


    if (isset(
    $zerocool)) {
    echo 
    "Hai già votato";
    } else {
    echo 
    "Scegli quanto votare e blablabla";

    Però il problema è che se vai nella pagina appare il coso x votare, poi clicchi su un button e appare "Hai già votato", mentre vorrei che appaia direttamente "Hai già votato".. Guarda qui: http//c00l.altervista.org/voto.php

    ..Diamine ho i codici un po' incasinati :S
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  7. #7
    Ma grazie, cosi' non funzionera' mai. Un cookie si setta con setcookie() e si legge dall'array superglobale $_COOKIE. Per come hai scritto tu la condizione isset($zerocool) e' sempre verificata.

    Metti il setcookie() nel ramo else e fai la verifica su $_COOKIE['zerocool'].

  8. #8
    Ma se lo metto nel ramo else l' isset relativo a "hai già votato" non legge nulla come variabile dato che la dichiaro dopo o sbaglio?

    EDIT: HO RISOLTO GRAZIE MILLE
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  9. #9
    Originariamente inviato da 0-c00l
    Ma se lo metto nel ramo else l' isset relativo a "hai già votato" non legge nulla come variabile dato che la dichiaro dopo o sbaglio?
    Sbagli perche' non hai capito come funzionano i cookie. Un cookie e' una informazione che viene registrata sul browser dell'utente e che il browser invia al server ogni volta che richiede una pagina (per il dominio o path per cui il cookie e' settato).

    Quello che tu devi fare e' verificare se questo cookie esiste, controllando isset($_COOKIE['zercool']). Questo controllo risultera' falso finche' non setterai un cookie con quel nome ("zerocool"). Quindi tu nella pagina controlla se il cookie c'e' o no: se c'e' scrivi il messaggio "hai gia' votatato", se non c'e' fai quello che devi fare e setti il cookie.

  10. #10
    MM ho risolto solo mettendo $_COOKIE invece di $zerocool nell' isset grazie mille
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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.