Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未存储php会话cookie_Php_Session_Cookies_Session Cookies - Fatal编程技术网

未存储php会话cookie

未存储php会话cookie,php,session,cookies,session-cookies,Php,Session,Cookies,Session Cookies,我在header.php文件中有这个php脚本,将HTTP头发送到python脚本,并将GUID设置为会话cookie: <?php ob_start(); function guid(){ if (function_exists('com_create_guid')){ return com_create_guid(); }else{ mt_srand((double)microtime()*10000);//optional f

我在header.php文件中有这个php脚本,将HTTP头发送到python脚本,并将GUID设置为会话cookie:

 <?php
  ob_start();
  function guid(){
    if (function_exists('com_create_guid')){
        return com_create_guid();
    }else{
        mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $hyphen = chr(45);// "-"
        $uuid = chr(123)// "{"
                .substr($charid, 0, 8).$hyphen
                .substr($charid, 8, 4).$hyphen
                .substr($charid,12, 4).$hyphen
                .substr($charid,16, 4).$hyphen
                .substr($charid,20,12)
                .chr(125);// "}"
        return $uuid;
    }
  }
  $UA = $_SERVER['HTTP_USER_AGENT'];
  $REF = $_SERVER['HTTP_REFERER'];
  $IP =   $_SERVER['REMOTE_ADDR'];
  $GUID = guid();
  $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  if (!isset($_COOKIE["name"]))
    setcookie('name',$GUID);
  //echo $UA;
  //echo $REF;
  //echo $IP;
  //echo $GUID;
  echo exec("python /var/www/html/oscommerce-2.3.3.4/header_sender.py -u '$UA' -r '$REF' -i '$IP' -c '$GUID' -p '$actual_link' 2>&1");
  ob_end_flush();
  ?>

似乎您没有声明
会话\u start()

编辑:

因为您使用的不是
$\u会话[“”]
,而是
$\u COOKIE[“”]

似乎在
time()+x秒之前,您没有定义cookie在浏览器上的存储时间

setcookie('name',$value,time()+..);

当您想使用session,所以首先需要在
session\u start()
中启动时,它应该在start php标记之后的页面的第一行中使用,因为如果您在between或end或任何其他位置使用,则会出现错误标题,此错误发生的原因是在您使用
session\u start()时
函数位于代码之间,您在代码之间留有任何空格,因此发生了此错误

这不是问题所在,但我对PHP cookie的搜索未设置导致我在这里回答任何其他出现的问题

还要注意如何设置到期日(如果是)。我最初是这样设置的:

setcookie(self::$tokenCookie, $response['refreshToken'], 86400 * 365, "/");
目的是将其设置为未来1年(86400*365)。然而,这使它从新纪元开始(1970年)起1年。要从现在起获得1年,请使用以下命令:

setcookie(self::$tokenCookie, $response['refreshToken'], time() + (86400 * 365), "/");

这是一个无聊的时刻,但它让我绊倒了,并造成了一些挫折,所以希望这能帮助其他人避免这种挫折。

嗨,这有关系吗?我没有使用php会话UTIL,而是手动设置HTTP cookie。为什么我需要调用
session\u start()
?哦,你说得对..顺便说一句,我认为存在一个简单的cookie,而不是session,session的会话ID存储为cookie。根据我的说法,不设置时间意味着会话cookie-只要浏览器未关闭,它就应该存在。我来看看如何使用php会话函数。让我更新我的答案。我不应该删除上一个(而只是顺其自然),它会使我们的对话与会话无关。除息的