web-dev-qa-db-fra.com

Comment paramétrer et récupérer les cookies?

Après plusieurs jours et plusieurs heures, je n'ai trouvé que des problèmes et des correctifs sur ce qu'il faut faire une fois qu'un cookie est défini, mais aucun ne mentionne comment obtenir un cookie en premier lieu.

Notre intention serait de définir un cookie (de session) de la page de destination (pour TOUS les rôles d'utilisateur) et de récupérer ce cookie sur certaines pages, via des vues, à utiliser dans l'URL d'un lien sortant. Ce serait très simple en programmation standard (même si je comprends bien) mais je commence à avoir des doutes considérables si c'est réellement possible dans Drupal.

12
Riccardorb

Drupal définit déjà un cookie de session lorsqu'un utilisateur se connecte: voir la fonction drupal_session_regenerate () .

Pouvez-vous utiliser cet identifiant de session à vos fins? Sinon, il vous suffit de créer une nouvelle valeur dans le cookie de la même manière que vous le ferez en PHP, $_COOKIE['my_value'];. Placez ce code dans la hook_init() d'un module personnalisé, en ajoutant une if() pour filtrer la page de destination.

Plus tard, vous le récupérez et l'utilisez dans votre vue; vous pouvez utiliser certains des crochets de vues selon vos besoins. Vous pouvez également utiliser le module champ personnalisé Vues , et y intégrer votre code PHP).

4
corbacho

Vous pouvez définir un cookie avec: setcookie('cookiename',$valueOfCookie);

Vous pouvez récupérer la valeur du cookie avec: $_COOKIE['cookiename']

2
Ibrahim