Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    [php] cookie... non funziona... ma sicuramente sbaglio io...

    ciao,
    mi dite come mai non tiene conto del cookie nel conteggio dei voti??

    Codice PHP:

        
    if (isset($VOTO) && ($VOTO>=|| $VOTO<=11) && eregi("[0-9]+$",$VOTO) && !isset($HTTP_COOKIE_VARS["PMP{$PP}"])) {
            
    $VOTO = (int) $VOTO;
            
    setcookie ("PMP$PP""y",microtime()+3600);  
            
    mysql_query("UPDATE ".$PMP["tabUser"]." SET voto = voto+$VOTO, nvoti = nvoti + 1, media = (voto+$VOTO)/(nvoti+1) WHERE id=\"$PP\" AND validato=\"y\"") or errore("Impossibile aggiornare i voti");

        } 
    grazie mille!!
    Ciao!

  2. #2
    non devi usare microtime(), il parametro vuole un intero.

    usa TIME()

    Vedi anche di usare $_COOKIE al posto di $HTTP_COOKIE_VARS e per uniformita' anche il tipo di sintassi usato nel nome (graffe)....
    codice:
    setcookie ("PMP{$PP}", "y", time()+3600);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

  4. #4
    ciao piero,

    e se questo controllo oltre che con il cookie, volessi farlo con la sessione??

    come posso implementarlo??
    Ciao!

  5. #5
    Originariamente inviato da fmortara
    ciao piero,

    e se questo controllo oltre che con il cookie, volessi farlo con la sessione??

    come posso implementarlo??
    Invece di scrivere nel cookie lo scrivi nella variabile di sessione.
    codice:
    <?php
    session_start();
    $voto = isset($_SESSION['voto'] ?  $_SESSION['voto'] : 'no';
    
    if($voto == 'no') { 
       procedura di voto
       $_SESSION['voto'] = 'si';
    } 
           else { echo "Hai già votato";  }

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    Invece di scrivere nel cookie lo scrivi nella variabile di sessione.
    codice:
    <?php
    session_start();
    $voto = isset($_SESSION['voto'] ?  $_SESSION['voto'] : 'no';
    
    if($voto == 'no') { 
       procedura di voto
       $_SESSION['voto'] = 'si';
    } 
           else { echo "Hai già votato";  }
    ok, in questo modo andrebbe bene se io dovessi votare per una sola cosa tipo un sondaggio...
    ma su www.modelliemodelle.it il sistema accoda ai dati del cookie il valore PMP$SPP dove $PP è il numero dell'utente appena votato.
    se nel cookie trovo il numero, non conteggio il voto senza dare nessun errore...

    quindi io dovrei accodare alla sessione il valore PMP$PP, ma come faccio??

    se ti serve ti mando la pagina in pvt...
    Ciao!

  7. #7
    ti perdi in un bicchiere... di vino.???

    $_SESSION['voto'] = "PMP{$PP}";


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Originariamente inviato da piero.mac
    ti perdi in un bicchiere... di vino.???

    $_SESSION['voto'] = "PMP{$PP}";

    e quindi come dovrei fare??

    cosi?

    Codice PHP:


    if (isset($VOTO) && ($VOTO>=|| $VOTO<=11) && eregi("[0-9]+$",$VOTO) && !isset($_SESSION["PMP{$PP}"])) { 
            
    $VOTO = (int) $VOTO;
            
    $_SESSION['voto'] = "PMP{$PP}";
            
    mysql_query("UPDATE ".$PMP["tabUser"]." SET voto = voto+$VOTO, nvoti = nvoti + 1, media = (voto+$VOTO)/(nvoti+1) WHERE id=\"$PP\" AND validato=\"y\"") or errore("Impossibile aggiornare i voti"); 

        } 
    o c'è qualche cosa da cambiare??

    ovviamente ad inizio pagina metterei:

    session_start();
    Ciao!

  9. #9
    Grazie della fiducia...

    Se mi dici cosa devi fare io poi ti diro' cosa devi fare....

    Puoi anche metterci i nickname dei forumisti... non ho la piu' pallida idea di "cosa" devi metterci la dentro.

    La domanda era? posso usare le sessione? si. segue un esempio.

    Adesso che fai? leggi un cookie, in base al cookie (c'e', e' scritto y) decidi se vota o meno. Se usi le sessioni farai la stessa cosa come con i cookie .

    Verifichi la variabile $_SESSION al determinato indice.

    Parto sempre dal principio che se chiedi e' perche' non va. Se va dimmi che va, se non va dimmi "cosa" non va....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    dunque,

    adesso il codice fa questo:

    Codice PHP:
    //controlla de esiste $VOTO che è una var passata via GET e se rientra nel range dei voti permessi
    //inoltre controlla se esiste nel cookie il campo PMP$PP
    // se i due controlli passano, allora avvia la procedura del voto
    if (isset($VOTO) && ($VOTO>=|| $VOTO<=11) && eregi("[0-9]+$",$VOTO) && !isset($HTTP_COOKIE_VARS["PMP{$PP}"])) { 
            
    $VOTO = (int) $VOTO;
            
    //scrivo nel cookie questi dati: numero utente votato ( $PP ) 
            //la durata del cookie +3600 credo sia un'ora
            
    setcookie ("PMP$PP""y",time()+3600);   
            
    //aggiorno i voti nel database
            
    mysql_query("UPDATE ".$PMP["tabUser"]." SET voto = voto+$VOTO, nvoti = nvoti + 1, media = (voto+$VOTO)/(nvoti+1) WHERE id=\"$PP\" AND validato=\"y\"") or errore("Impossibile aggiornare i voti"); 

        } 
    come posso fare tutto questo con una sessione???


    Grazie
    Ciao!

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.