2017-01-15 43 views
1

我有一個索引頁,它檢查是否已設置了會話變量,如果是,它會重定向(使用'header')到'customer'頁面。這個作品在我的本地主機上,但是當我上傳的網站GoDaddy的不工作:無法在Godaddy中使用標題重定向

<?php 
include("Classes.php"); 
session_start(); 
include("connector.php"); 

if ($_SERVER['REQUEST_METHOD'] == "GET"){ 
    session_unset(); 
} 

    if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['accname'])){ 
     $name = $_POST['accname']; 
     $password = $_POST['password']; 
     $_SESSION['customer'] = new customer($name,$password); 
     echo $_SESSION['customer']->custno; 
     if (isset($_SESSION['customer']->custno)) { 
       header("Refresh:0;customer.php"); 
     } 
    } 
+0

你能解釋一下哪些不起作用嗎? –

+0

可能的[如何修復]已經發送的頭「PHP中的錯誤」(http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) –

+1

'如果isset($ _ SESSION ['customer'] - > custno))' - 這不是有效的PHP語法。你錯過了最初的'('。你應該檢查你的錯誤日誌 –

回答

0

你有頭錯誤的,但它也可能會抱怨的內容後頭。

header("refresh:5;url=yourpage"); 
+0

爲什麼不呢:'header('Location:url')'如果你只是要重定向用戶?代碼還有更多問題。 –

+0

不可能猜測使用刷新的原因,所以我沒有改變它。在這個問題的評論中,其他問題似乎已經被指出。 – Chris

+0

好的,所以我糾正了代碼中的輕微錯誤(這些錯誤是將它輸入到stackoverflow中,而不是在原始代碼中)。 底線是當我在我的本地主機上運行此代碼,它涉及到它說的行: if(isset($ _ SESSION ['customer'] - > custno)){ header(「Refresh:0; customer.php「); } 然後它重定向到customer.php頁面。 但是,當我將此代碼上傳到Godaddy上的現場服務器時,它不會重定向。 – John

0

答案是:我放棄了。似乎在本地主機上運行的代碼在您將其放到網絡上時不起作用。 PS代碼沒有問題:粘貼到被糾正的SO中時出現小錯誤。

+0

你認爲你的godaddy主機可能會禁用php頭文件嗎? – Chris