【问题标题】:Session variable 'unsetted' automatically + with a bit of code会话变量“未设置”自动+一些代码
【发布时间】:2014-09-10 09:59:45
【问题描述】:

为什么会话没有保存?重新加载会话变量“mucciusersess”后消失!为什么?谢谢...

I have an cookie on client-side with value like 'mucciuserid' set to '122341212'

session_start();

$userid = $_SESSION['usersess'];
//    if session var not already exists --> get from cookie and set
if(!isset($userid)) {

     $usercokie = $_COOKIE['userid'];
             echo $usercokie.' < > '.$userid;
     $_SESSION['usersess'] = $usercokie;
     $userid = $_SESSION['usersess'];
             echo '-'.$userid;  
}

【问题讨论】:

  • echo $usercokie 我认为$usercokie 有空白值
  • 在 $usercokie 正常之前测试过
  • 只在不同文件中运行上面的代码检查那里的输出。

标签: javascript php session cookies session-variables


【解决方案1】:

不确定,但我认为如果条件属实,请像这样尝试一次:

<?php 
session_start();

$userid = $_SESSION['mucciusersess'];
//    if session var not already exists --> get from cookie and set

if(!$userid>0) {

     $usercokie = $_COOKIE['mucciuserid'];
             echo $usercokie.' < > '.$userid;
     $_SESSION['mucciusersess'] = $usercokie;
     $userid = $_SESSION['mucciusersess'];
             echo '-'.$userid;  
}
?>

【讨论】:

  • 是的,问题出在那个条件上,但是 ('!$userid>0') 为什么?例如:id = 365 365 的倒数是多少?错误...并且错误> 0 ...有问题
【解决方案2】:

解决了 $_COOKIE 的问题,有些人返回 false 所以我解决了:

if(isset($usercokie)) {
            $_SESSION['usersess'] = $usercokie;
            $userid = $_SESSION['usersess'];         
}} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多