2012-08-01 35 views
0

我正在一個我沒有建立的網站上工作。我試圖把一個HTML內的重定向if語句,這裏的源:如果用戶沒有登錄,然後重定向PHP

<?php 
    if(!$usersClass->checkLoggedIn()) { 
?> 
// Stuff here 
<?php } else { ?> 
    // More stuff here 
<?php } ?> 

我希望把這裏內重定向:如果用戶沒有登錄,他們重定向到主頁,我已經嘗試了以下,但沒有運氣。任何人都可以看到我要去哪裏嗎?

<?php 

if(!$usersClass->checkLoggedIn()) { 
header("Location: /index.php"); 

?> 
+1

不checkLoggedIn回報一個布爾? – Undefined 2012-08-01 21:21:48

+2

在將任何輸出發送到瀏覽器之前應該調用標頭,這裏是這種情況嗎? – tigrang 2012-08-01 21:22:41

+1

你可以在你的'header(...);'後面添加'exit;'以確保重定向執行後沒有其他代碼。 – 2012-08-01 21:23:46

回答

1

你忘了關支架}

應該是:

<?php 

if(!$usersClass->checkLoggedIn()) { 
    header("Location: /index.php"); 
} 
?> 
+1

你也許應該在頭部之後加上'exit;'以便不再執行代碼。 – drew010 2012-08-01 21:27:26

+0

@ drew010它也可以在沒有'exit'的情況下工作 – alfasin 2012-08-01 21:28:12

+0

是的,它可以工作,但是可能有下面的代碼或HTML,如果它們沒有登錄,就不應該輸出/執行。 – drew010 2012-08-01 21:38:28

0

儘量給完整的URL,並關閉}支架:

<?php 

if(!$usersClass->checkLoggedIn()) { 
header("location: http://localhost/yoursite/index.php"); 
} 
?> 
+0

copycat .....: P – alfasin 2012-08-01 21:28:33

+0

@alfasin:你知道這不是真的,夥計:) – 2012-08-01 21:29:35

+0

我知道,這就是爲什麼我加了':P' - 我們同時寫的。究竟。偉大的思想...... :) – alfasin 2012-08-01 21:31:10