簡體   English   中英

php Cookie被忽略

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM