[英]Php Cookie Ignored
我有一個模塊,如果尚不存在,應該使用php創建一個cookie。 如果它不確認cookie的存在,則創建它並實現一個js文件,然后顯示一個覆蓋圖。 否則該功能應剛剛結束。 問題是,即使每次刷新都不應該,js也會在每次刷新時加載。 請幫助,我非常感謝,謝謝。
Cookie PHP
<?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 '';
}
}
疊加JS
/**
* @file
* Appends Welcome Overlay to page, upon button
* click closes overlay
*/
(function ($, Drupal){
Drupal.behaviors.welcomeOverlay = {
attach : function() {
$('#block-panels-mini-welcome-overlay').appendTo('body');
function clickButton() {
$('.welcome-content').fadeTo('500', 0, 'linear', function(){
$('.welcome-overlay').slideToggle('700', 'linear', function(){
$('#block-panels-mini-welcome-overlay').remove();
});
});
}
setTimeout(function () {
$('.welcome-overlay').slideToggle('700', 'linear', function(){
$('.welcome-content').fadeTo('500', 1, 'linear');
});
}, 1500);
$('.w-button').on('click', clickButton);
}
}
})(jQuery, Drupal);
您的Cookie沒有設置是由於一種原因。 您編寫的代碼設置cookie是
setcookie($name, $value, $expire, $path, $domain, true, true);
您將最后2個參數設置為TRUE。 倒數第二個TRUE是出於安全性考慮,它指示cookie僅應從客戶端通過安全的HTTPS連接傳輸。 設置為TRUE時,僅當存在安全連接時才設置cookie。
您的網站“ http://hitechwolf.com/wolfden/ ”不是https。 因此您的cookie沒有設置。
設置為FALSE嘗試
setcookie($name, $value, $expire, $path, $domain, false, true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.