Visualizzazione risultati 1 fino 2 di 2

Discussione: Cookie

  1. #1
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    Mi spiegate come si crea un cookie e come scrivere delle variabili in esso ed estrarle?

  2. #2
    Guest

    Predefinito

    riporto dalla guida di php:
    PHP supporta in modo trasparente i cookies HTTP. I cookies sono un meccanismo per memorizzare dati nel browser remoto e tenere traccia degli utenti o identificarli al loro ritorno. I cookies possono essere impostati tramite la funzione setcookie(). I cookies sono parte dell'intestazione HTTP, quindi setcookie() deve essere chiamata prima che qualsiasi output sia inviato al browser.
    Ogni cookie inviato dal client sarà automaticamente trasformato in una variabile PHP, come avviene nel caso di dati GET o POST, in base alle variabili di configurazione register_globals e variables_order. Se si vogliono assegnare più valori ad un singolo cookie, basta aggiungere [] al nome del cookie.

    Nel PHP 4.1.0 e successivi, il vettore auto-globale $_COOKIE sarà sempre impostato con qualsiasi cookies inviati dal client. $HTTP_COOKIE_VARS è anch'essa impostata nelle versioni precedenti del PHP se è impostata la variabile di configurazione track_vars. (Questo parametro è sempre a on a partire da PHP 4.0.3.)
    setcookie
    (PHP 3, PHP 4 )

    setcookie -- Spedisce un cookie
    Descrizione
    int setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])


    setcookie() definisce un cookie da inviare insieme alle altre informazioni di header. I cookie devono essere spediti prima di qualsiasi altra intestazione (questa è una restrizione dei cookies, non di PHP). E' necessario perciò chiamare la funzione setcookie() prima di qualsiasi tags, anche <html> o <head>.

    Tutti gli argomenti della funzione eccetto name sono opzionali. Se viene passato alla funzione solo l'argomento name, il cookie registrato con quel nome verrà cancellato dal client su cui è archiviato. E' possibile sostituire gli argomenti che non si intende specificare utitlizzando una stringa vuota (""). Gli argomenti expire e secure che richiedono numeri interi, non possono essere omessi inserendo una stringa vuota, per questo scopo si usa (0). L'argomento expire è un normale intero Unix Timestamp ottenibile grazie alle funzioni time() o mktime(). secure sta ad indicare che il cookie dovrebbe essere trasmesso soltanto attraverso un collegamento sicuro di tipo HTTPS.

    Errori comuni:


    I cookie diventano disponibili soltanto dalla pagina successiva a quella che li ha generati, o dopo il ricaricamento di questa.

    I cookie devono essere cancellati specificando gli stessi parametri con cui sono stati creati.


    In PHP 3, chiamate successive di setcookie() nello stesso script sono eseguite in ordine inverso. Se state provando a cancellare un cookie prima dell' inserimento di un altro cookie, dovete creare il secondo prima della cancellazione del primo. In PHP 4, chiamate successive di setcookie() invece, sono eseguite secondo l'ordine di chiamata.

    Alcuni esempi sul modo di spedire cookie: Esempio 1. setcookie() esempi di spedizione/creazione

    setcookie ("TestCookie", "Test Value");
    setcookie ("TestCookie", $value,time()+3600); /* aspira in 1 ora */
    setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);



    Gli esempi mostrano come cancellare i cookie introdotti nell'esempio precedente: Esempio 2. setcookie() esempi di cancellazione

    setcookie ("TestCookie");
    // set the expiration date to one hour ago
    setcookie ("TestCookie", "", time() - 3600);
    setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);

    Per cancellare un cookie dovete assicurarvi che la data di scadenza del cookie sia già trascorsa, in questo modo il cookie verrà rimosso dal client.

    Si noti che i valori salvati nei cookies sono automaticamente codificati per la trasmissione via URL (urlencoded) quando il cookie viene inviato, e che al momento del richiamo sono automaticamente decodificati e assegnati ad una variabile che ha lo stesso nome del cookie. Per vedere il contenuto di un cookie in uno script, si usa una di queste due sintassi:


    echo $TestCookie;
    echo $HTTP_COOKIE_VARS["TestCookie"];



    Potete registrare array in un cookie usando la notazione degli array al posto del nome del cookie. Questo equivale alla spedizione di tanti cookie quanti sono gli elementi dell'array, ma si ha un vantaggio: quando il cookie è ricevuto, tutti i suoi valori sono ordinati in un singolo array che ha per nome il nome del cookie:


    setcookie ("cookie[three]", "cookiethree");
    setcookie ("cookie[two]", "cookietwo");
    setcookie ("cookie[one]", "cookieone");
    if (isset ($cookie)) {
    while (list ($name, $value) = each ($cookie)) {
    echo "$name == $value<br>\n";
    }
    }



    Per saperne di più sui cookies, Netscape's cookie specification è la risorsa giusta http://www.netscape.com/newsref/std/cookie_spec.html.

    Microsoft Internet Explorer 4 con Service Pack 1 non crea correttamente cookie che hanno il parametro path specificato.

    Netscape Communicator 4.05 e Microsoft Internet Explorer 3.x sembrano utilizzare in modo errato i cookie quando path ed expire non sono specificati.

Regole di scrittura

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