忽略Php Cookie
我有一个模块,如果cookie还不存在,它应该使用php来创建cookie。如果它不确认cookie的存在,它将创建cookie并实现一个js文件,然后显示一个覆盖。否则,函数就应该结束。问题是,js在每次刷新时都会加载,即使它不应该加载。请帮忙,我非常感谢,谢谢 Cookie PHP忽略Php Cookie,php,jquery,cookies,drupal,Php,Jquery,Cookies,Drupal,我有一个模块,如果cookie还不存在,它应该使用php来创建cookie。如果它不确认cookie的存在,它将创建cookie并实现一个js文件,然后显示一个覆盖。否则,函数就应该结束。问题是,js在每次刷新时都会加载,即使它不应该加载。请帮忙,我非常感谢,谢谢 Cookie PHP <?php /** * @file * Checks for cookie, non-existent: creates cookies + implements js, else * removes
<?php
/**
* @file
* Checks for cookie, non-existent: creates cookies + implements js, else
* removes specfic content
*/
/*
* Implements hook_preprocess_page().
*/
function cookie_check_preprocess_page($hook, &$variables) {
// Check for cookie
if (!isset($_COOKIE['firsttime'])) {
// Set variables for setcookie
$name = 'firsttime';
$value = 'no';
// six months
$expire = time()+(15768000);
// Directory
$path = '/~wolfden/';
$domain = 'hitechwolf.com';
// Create cookie
setcookie($name, $value, $expire, $path, $domain, true, true);
// Implement the js
// Welcome Overlay/Button Functionality ONLY ON FIRST TIME VISIT
$path = drupal_get_path('module', 'cookie_check');
drupal_add_js($path . '/js/welcome_button.js');
}
else {
return '';
}
}
由于一个原因,您的cookie未设置。您编写了将cookie设置为
setcookie($name, $value, $expire, $path, $domain, true, true);
最后两个参数设置为TRUE。最后一个TRUE是为了安全性,它表示cookie应该只通过来自客户端的安全HTTPS连接进行传输。当设置为TRUE时,仅当存在安全连接时才会设置cookie
您的站点不是https。因此,您的cookie没有设置
尝试设置为FALSE
setcookie($name, $value, $expire, $path, $domain, false, true);
尝试过,仍然是相同的错误,cookie似乎仍然没有被设置,感谢您的尝试:set$path=/和$domain=.hitechwolf.comprogress,cookie现在存在,根据devtools,但是js仍然会在每次重新加载页面时触发。。。
setcookie($name, $value, $expire, $path, $domain, false, true);