php会话和POST或GET变量

时间:2014-04-29 16:11:11

标签: php session

嗨我的php会话有问题,我有一个页面,其中有一个文件,我创建了一个会话并发送到其他页面,在此页面中接收POSTGET变量进行搜索,但如果我继续前进然后返回我的导航器互联网节目"确认转发表格"

session_start();    
if($_SESSION['logged']!='yes'){
    header('location: http://www.midomain.com/login.php');
}
else{
    $user=$_SESSION['user'];
    $varforsearch=$_POST['var'];        
}

如果我删除行session_start();它有效,并且没有显示"确认转发表单",如果我继续然后回来,但没有创建会话,任何想法?

2 个答案:

答案 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');
}