2016-04-15 20 views
-2

請在標記之前告訴我爲什麼第一,謝謝。 我有這個更新代碼下面是有效的。然而,標題響應304沒有被修改,但它很明顯。我試圖在die()之前添加header('HTTP/1.1 200 OK'); $time = time() - 60; header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');;但它不起作用。我想顯示200狀態,修改時間,並可能在字符串參數中更改了名稱。爲什麼標題狀態沒有改變?

if(isset($_POST['update'])) { 

    $stmt = $pdo->prepare("UPDATE details set name = :name                
          WHERE user_id = {$_SESSION['user_session']}"); 

    $stmt->bindValue(':name', $_POST[ 'name']); 

    $stmt->execute(); 
    echo '<META HTTP-EQUIV="Refresh" Content="0">'; 
    die(); 
} //end of isset update 
+1

頭應在任何輸出之前調用(即在echo之前),頭也有第二個參數和第三個參數 –

+0

謝謝你的回覆@Lashane,但是在我把它放在echo之前,狀態碼仍然沒有改變。抱歉,我對此完全陌生。 – user999

回答

0

304只是意味着你得到一個緩存的頁面,因爲一切都沒有改變,這是有道理的,因爲你沒有任何輸出與更新語句的頁面。您可能會檢查您的Web服務器配置以獲取緩存設置,或者如果您確實希望看到200,則只需回顯帶時間戳的成功消息即可。

+0

Hi @Jeff Puckett II首先謝謝。問題是我更改了名稱,並且在數據庫中成功更改了名稱,但是標題狀態說304未被修改。所以我不知道爲什麼標題不顯示數據更改的代碼。我不知道應該是200我認爲也許應該是302?我只想在頭文件中證明數據已經改變 – user999

+1

數據庫已經改變,但是web服務器的http響應與此無關。如果你想確認,那麼在頁面上回應出一個響應來更新網頁,以便網頁服務器將爲新頁面提供服務。不要將網頁與數據庫記錄混淆。 http響應與數據庫狀態無關。 –

+0

非常感謝@Jeff Puckett II – user999

相關問題