¿Cómo configurar y recuperar cookies?

12

Después de varios días y más horas, solo encontré problemas y parches sobre qué hacer una vez que se configura una cookie, pero nadie menciona cómo obtener una cookie en primer lugar.

Nuestra intención sería establecer una cookie (de sesión) de la página de destino (para TODOS los roles de usuario) y recuperar esa cookie en ciertas páginas, a través de vistas, para usar en la URL de un enlace saliente. Esto sería muy simple en la programación estándar (incluso lo entiendo), pero estoy comenzando a tener dudas considerables si esto es realmente posible en Drupal.

Riccardorb
fuente

Respuestas:

4

Drupal ya establece una cookie de sesión cuando un usuario inicia sesión: vea la función drupal_session_regenerate () .

¿Puedes usar esta ID de sesión para tus propósitos? Si no, entonces sólo tiene que crear un nuevo valor en la cookie de la misma manera que va a hacer en PHP, $_COOKIE['my_value'];. Coloque este código en el hook_init()de un módulo personalizado, agregando un if()para filtrar la página de destino.

Más tarde, lo recuperas y lo usas en tu vista; puede usar algunos de los ganchos de Vistas según sus necesidades. También puede utilizar el campo personalizado Vistas del módulo e incrustar allí su código PHP.

corbacho
fuente
1
Si todo lo que necesita es un valor de sesión, también puede usarlo $_SESSION[], ya que una sesión siempre se inicializa desde Drupal.
kiamlaluno
2

Puede configurar una cookie con: setcookie('cookiename',$valueOfCookie);

Puede recuperar el valor de la cookie con: $_COOKIE['cookiename']

Ibrahim
fuente