[英]php sessions and POST or GET variables
嗨,我在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();
它有效,並且如果我繼續然后返回,則不顯示“確認轉發形式”,但是不創建會話,有什么想法嗎?
$_SESSION['logged']!='yes'
表示未創建會話,並且用戶未登錄。
以及您編寫的其他部分, $user=$_SESSION['user'];
。
通常,僅當用戶成功登錄后,$ _SESSION ['logged']應該為true。
您應該開始在身份驗證功能中分配會話值,如果驗證了用戶,則僅分配會話變量。
希望這會幫助你。
為了避免重新提交,您將需要重定向到同一頁面。 試試這個方法:
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');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.