为什么这只能在第二次导航到另一个页面时起作用?
在页面上:
session_start();
$a_var = $_POST["var"];
if (isset($_POST["var"])) {
$_SESSION['ses_var'] = $a_var;
echo "<script type='text/javascript'>relocate('http://www.mydomain.com/newfile.php'); </script>";
}
第二页:
session_start();
echo $_SESSION['ses_var'];
它是更大的登录系统的一部分,但现在我已经简单地尝试将代码减少到这个,但是当我第一次尝试导航到newfile.php时它仍然是空的! 如果我回去再试一次,那么它会在newfile.php上获得我的ses_var。
请帮忙!
答案 0 :(得分:1)
您可能遇到会话cookie问题。请确保第一页和第二页是完全相同的域名。并查看例如,page1不是www.domain.com
,而page2只是domain.com
而没有www.
如果是这种情况,您甚至可以设置会话cookie域设置以允许*.domain.com
。
答案 1 :(得分:0)
$sess_life_time = 21600; //in seconds
$sess_path = "/";
$sess_domain = ".you-site-name.com";
$sess_secure = true; // if you have secured session
$sess_httponly = true; // httponly flag
session_set_cookie_params($sess_life_time, $sess_path, $sess_domain, $sess_secure, $sess_httponly);