• User

    a) Crea una pagina php per salvare il cookie nel tuo browser (chiamiamola cookie.php)
    Basta 1 sola riga di codice php. Vedi funzione setcookie() su w3schools
    [PHP]
    <?php

    $value = "my cookie value";

    // send a cookie that expires in 24 hours
    setcookie("TestCookie",$value, time()+3600*24);

    ?>
    [/PHP]

    b) Carica cookie.php sul web e visitala con il tuo browser
    c) Nelle pagine del tuo sito racchiudi il codice del contavisite in una condizione if che verifica la presenza del cookie:
    [PHP]
    if(empty($_COOKIE["nome_cookie"]))
    {
    //aggiorno il database
    }
    [/PHP]

    Dovrebbe essere abb semplice. In bocca al lupo!!


  • User

    Io ho molte pagine, dove va messo il cookie?
    Vedi esempio sopra.
    Il cookie NON va messo in nessuna delle pagine del tuo sito. Devi creare una nuova pagina php dove inserire il codice che crea il cookie.
    E' una pagina che ti servirà
    solo una volta
    . Infatti al momento della tua prima visita su quella pagina il browser salva il cookie nella sua memoria. Dopodichè puoi anche cancellare tale pagina.

    L'unica modifica che devi fare alle pagine del tuo sito è inserire la condizione if come illustrato sopra.


  • User

    I cookie sono delle informazioni che vengono trattenute dal browser. Un esempio classico è la funzione "Ricordami" che trovi nella maggior parte dei form di login!!
    Come accennato sopra, i cookie hanno una scadenza (che si può impostare arbitrariamente).
    Se nella funzione setcookie() NON imposti nessuna scadenza, essa coinciderà con la chiusura del browser (e ogni volta dovrai di nuovo rivisitare la pagina del cookie per rigenerarlo!!).
    Se invece imposti l'anno prossimo come scadenza, puoi eliminare la pagina con il cookie e sarai a posto per 1 anno intero!! Ogni volta che visiti il tuo sito, verrai escluso dal contatore!!
    Tutto chiaro?


  • User

    Aspetta.. Forse hai mancato il mio ultimo messaggio perchè abbiamo scritto insieme!!
    L'hai visto?
    Il pezzo di codice che inizia con $value devi metterlo in una nuova pagina... dove non c'è nient'altro!! Crea una nuova pagina e copia/incolla il seguente codice alla lettera!!
    Pagina "miocookie.php"
    [PHP]
    <?php

    $value = "a95er63s";

    // set a cookie that expires in 1 year
    setcookie("contavisite",$value, time()+360024365);

    ?>
    [/PHP]

    Ovvimente il valore di $value può essere un sequenza qualsiasi.


  • User

    Ora carica "miocookie.php" sul web e visita 1 volta quella pagina.

    Complimenti: a questo punto hai salvato con successo il cookie nel tuo browser!!! 😉


  • User

    Infine:
    racchiudi il codice della funzione che aggiorna il database all'interno di questa funzione if:
    [PHP]
    if($_COOKIE["contavisite"]!=='a95er63s')
    {
    //script della funzione
    }
    [/PHP]

    Fine!!


  • User

    Segui alla LETTERA i miei ultimi 3 messaggi... non dovrebbe servire altro!!
    Attenzione:*** RIBADISCO CHE IL CODICE DEL COOKIE NON DEVI METTERLO NELLO STESSO FILE DELLE FUNZIONI MA IN UNA PAGINA A PARTE... ALTRIMENTI OTTIENI L'EFFETTO CONTRARIO E TUTTI I VISITATORI VENGONO ESCLUSI!!!!!***
    P.s.
    Mi sembra che nel codice che aggiorna il database ci siano degli errori (parentesi dimenticate)


  • User

    Il codice sta facendo esattamente quello che dovrebbe fare... sta funzionando!!
    E' semplice: hai messo la stringa include("cookie.php");
    NON dovevi metterla.
    Leggi il mio ultimo messaggio: è scritto in grassetto e sottolineato!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:?


  • User

    Non è necessario... puoi eliminare il cookie ***svuotando la cache del browser ***(suppongo tu sappia come si fa.. è simile ad eliminare la cronologia).
    A questo punto sarai di nuovo un utente "normale" ed il contavisite aumenterà.

    Per essere escluso basta che visiti di nuovo la pagina cookie.php --> che ti salva il cookie nella memoria del browser ---> che ti fa escludere dal contavisite.

    Tutto chiaro?
    P.s. In questo modo puoi fare tutti i test che desideri in totale autonomia.


  • User

    Fatto!!
    Cliccato su home, storia e attivtà biologica.
    P.s.
    Carino il layout del sito... l'hai fatto tu da zero oppure ti sei appoggiato ad un template? Hai usato un cms?


  • User

    Togli dalla funzione:
    error_reporting (E_ALL);

    Se ancora ti da errore prova a sostituire la stringa con:
    if(empty($_COOKIE["contavisite"])) {