在debug調試時,以下代碼起作用。能正確賦值。但是如果是在瀏覽器正常運行,就賦值失敗。
列印出:$_SESSION['active_code'] 時,其值等於'3a'.請問是咋回事?調試幾個小時了。調試全部正常。但是正常運行就沒有值。
$_SESSION['active_code']['id']=$user_id; $_SESSION['active_code']['name']=$user['user_name']; $_SESSION['active_code']['email']=$user['email'];
環境:apache+mysql+php5.4.22
回複討論(解決方案)
你是怎麼列印的?
$_SESSION['test']='testvv'; $_SESSION['test']['11']='11testvv'; $_SESSION['active_code']['id']=$user_id; $_SESSION['active_code']['name']=$user['user_name']; $_SESSION['active_code']['email']=$user['email']; $_SESSION['active_code']['key']=$this->md5s($user['email'].$user['passwd']); $this->logs(var_export($_SESSION['active_code'],true)); $this->logs(var_export($_SESSION,true));
列印結果:
[14-05-11 13:46:34] : '3a'
[14-05-11 13:46:34] : array (
'active_code' => '3a',
'test' => 'testvv 1',
)
不知道你的 logs 方法裡面做了什麼
你直接 var_export($_SESSION['active_code']); 看看
問題解決,刪除session目錄中所有檔案後解決。