Come impostare e recuperare i cookie?


12

Dopo diversi giorni e più ore ho riscontrato solo problemi e patch su cosa fare una volta impostato un cookie, ma nessuno menziona come ottenere un cookie impostato in primo luogo.

La nostra intenzione sarebbe quella di impostare un cookie (di sessione) della pagina di destinazione (per TUTTI i ruoli utente) e recuperare quel cookie su determinate pagine, attraverso le visualizzazioni, da utilizzare nell'URL di un link in uscita. Questo sarebbe molto semplice nella programmazione standard (anche io ho capito) ma sto iniziando a dubitare considerevolmente se questo è effettivamente possibile in Drupal.

Risposte:


4

Drupal imposta già un cookie di sessione quando un utente accede: vedi la funzione drupal_session_regenerate () .

Puoi utilizzare questo ID sessione per i tuoi scopi? Se no, allora non vi resta che creare un nuovo valore nel cookie stesso modo in cui si farà in PHP, $_COOKIE['my_value'];. Inserisci questo codice nel hook_init()di un modulo personalizzato, aggiungendo a if()per filtrare la pagina di destinazione.

Successivamente, lo recuperi e lo usi nella tua vista; puoi utilizzare alcuni degli hook di Views a seconda delle tue esigenze. Puoi anche usare il campo personalizzato Views del modulo e incorporare qui il tuo codice PHP.


1
Se tutto ciò di cui ha bisogno è un valore di sessione, allora può usare $_SESSION[]anche lui, poiché una sessione viene sempre inizializzata da Drupal.
kiamlaluno

2

Puoi impostare un cookie con: setcookie('cookiename',$valueOfCookie);

Puoi recuperare il valore del cookie con: $_COOKIE['cookiename']

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.