嗨我的php会话有问题,我有一个页面,其中有一个文件,我创建了一个会话并发送到其他页面,在此页面中接收POST
或GET
变量进行搜索,但如果我继续前进然后返回我的导航器互联网节目"确认转发表格"
session_start();
if($_SESSION['logged']!='yes'){
header('location: http://www.midomain.com/login.php');
}
else{
$user=$_SESSION['user'];
$varforsearch=$_POST['var'];
}
如果我删除行session_start();
它有效,并且没有显示"确认转发表单",如果我继续然后回来,但没有创建会话,任何想法?
答案 0 :(得分:0)
$_SESSION['logged']!='yes'
表示未创建会话,用户未登录。
在其他部分你写了$user=$_SESSION['user'];
。
通常,只有当用户成功登录时,$ _SESSION ['logged']才会成立。
您应该开始在身份验证功能中分配会话值,如果用户已经过验证,那么只会分配会话变量。
希望这会对你有所帮助。
答案 1 :(得分:0)
为避免重新提交,您需要重定向到同一页面。 试试这种方法:
session_start();
if($_SESSION['logged']!='yes'){
header('location: http://www.midomain.com/login.php');
}
else{
$user=$_SESSION['user'];
$varforsearch=$_POST['var'];
//Clear POST data
unset($_POST);
//redirect to your self or other page
header('location: http://www.midomain.com/search.php');
}