2009-10-28 60 views
0

基本上我會告訴你我想要做什麼。一些快速的PHP和HTML幫助

1:如果用戶沒有登錄,我希望他們被重新引導回登錄頁面。

2:如果用戶已登錄並且他們提交了表單,我希望他們被引導到下一頁。

我已經嘗試過與元刷新,但我似乎只能得到它與其中一個工作。

您能否告訴我們做這件事的最好方法是什麼?

我使用目前的代碼是

<meta http-equiv="refresh" content="0;index.php"> 
<meta http-equiv="refresh" name="myidentifier" content="0;mystats.php"> 

感謝

+0

你可以顯示你現在使用的代碼嗎? – 2009-10-28 11:58:04

回答

5

使用HTTP頭代替。例如:

session_start(); 

//Redirect when user is not logged 
if($_SESSION['logged'] != 1) 
{ 
    header("Location: http://redirect.here.com/login.php"); 
    exit(0); 
} 

//Redirect when user sent form 
if((isset($_POST['sent']))&&($_SESSION['logged']==1)) 
{ 
    header("Location: http://redirect.here.com/nextpage.php"); 
    exit(0); 
} 

成功登錄後不要忘記設置$_SESSION['logged']=1。 有更多的方法來檢測用戶發送的表單,但我更喜歡將隱藏的輸入字段與name="sent"對每個表單。

+0

Ahh ok我可以使用元刷新的另一部分? – 2009-10-28 12:00:36

+0

如果您可以使用http標頭,則不會使用元標記進行重定向。我認爲在有相同的http頭時避免使用meta標籤總是更好。 – 2009-10-28 12:06:45

+0

你不需要元刷新(這是不好的做法)。 – Boldewyn 2009-10-28 12:07:03