2014-04-29 94 views
0

您好我有一個PHP會話的問題,我有一個文件的頁面,我創建了一個會話併發送到其他頁面,在這個頁面上收到POSTGET變量做搜索,但如果我去前進,然後回我的導航網絡顯示「確認轉發形式」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();,並且犯規秀「確認轉發形式」,如果我繼續前進,然後回,但不創建會話,任何想法?

+2

web瀏覽器會詢問你是因爲你提交一個表單,他想知道,如果你想重新發布相同的數據。 – PoulsQ

+0

但如果我刪除行session_start();不要問我什麼,它的作品! – undertakerevil

回答

0

$_SESSION['logged']!='yes'意味着不會創建會話,並且用戶沒有登錄。

和其他部分你寫,$user=$_SESSION['user'];

只有當用戶登錄成功時,$ _SESSION ['logged']應該爲true。

如果驗證用戶,那麼您應該開始在驗證功能中分配會話值,然後僅分配會話變量。

希望這會幫助你。

+0

嗨,我可以創建變量來搜索像會話變量? – undertakerevil

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'); 
} 
+0

實際上我使用相同的頁面進行搜索以顯示搜索結果,我有一個頁面,我發送給我一個名爲「search.php」的頁面,在這裏我寫mi搜索,在這個頁面中我找到要搜索的單詞(與帖子),如果變量不同於空做搜索,如果我的搜索發現東西顯示它在同一頁 – undertakerevil

+0

@undertakerevil是的我明白了,你有嘗試重定向到同一頁?這可能會避免你遇到的問題 – meda