如何设置和检索Cookie?


12

经过几天和几个小时的工作,我仅发现有关设置cookie后如何处理的问题和补丁,但没有人提到如何首先设置cookie。

我们的目的是为所有用户角色设置着陆页的(会话)cookie,并通过视图在某些页面上检索该cookie,以在出站链接的URL中使用。在标准编程中,这将是非常简单的(即使我理解),但是我开始怀疑是否在Drupal中确实可行。

Answers:


4

当用户登录时,Drupal已经设置了一个会话cookie:请参阅函数drupal_session_regenerate()

您可以将这个会话ID用于您的目的吗?如果不是,那么您只需在Cookie中创建新值,就如同在PHP中创建新值一样$_COOKIE['my_value'];。将此代码放在hook_init()自定义模块的中,添加一个if()以过滤登录页面。

稍后,您可以检索它并在视图中使用它。您可以根据需要使用一些View挂钩。您还可以使用模块Views自定义字段,并将PHP代码嵌入在那里。


1
如果他只需要一个会话值,那么他也可以使用$_SESSION[],因为会话总是从Drupal初始化的。
kiamlaluno

2

您可以使用以下方法设置Cookie: setcookie('cookiename',$valueOfCookie);

您可以使用以下方法检索Cookie值: $_COOKIE['cookiename']

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.