簡體   English   中英

php會話和POST或GET變量

[英]php sessions and POST or GET variables

嗨,我在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(); 它有效,並且如果我繼續然后返回,則不顯示“確認轉發形式”,但是不創建會話,有什么想法嗎?

$_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM