2013-01-15 54 views
0

我有一個PHP頁面,它從服務器讀取文本文件,並根據該文件的內容在頁面上加載一些內容。然後,當用戶點擊提交按鈕時,內容被重寫到文本文件並且頁面被重新加載。頁面寫入文件後刷新內容不正確

但是,現在,根據我剛剛選擇的內容,加載到頁面的內容不正確。不過,如果我點擊F5並重新加載頁面,那麼頁面會加載所有正確的內容,就像我預期的那樣。這就像頁面必須第二次刷新,因爲第一次文本文件正在被重寫。

有沒有辦法糾正這種情況,以便頁面內容根據用戶選擇的內容正確加載,然後重寫到文本文件中?

我正在寫使用以下的文件,在我的PHP代碼的最下方:

echo "<form action='' method='post' enctype='multipart/form-data' name='saveChoices' id='saveChoices'>"; 
$userChoiceListWritable = fopen($userChoicesFile, 'w') or die("Couldn't open user's choice list file for writing."); 

if (array_key_exists('save', $_POST)) 
{ 
    if(!empty($_POST['choiceCheckGroup'])) 
    { 
     foreach($_POST['choiceCheckGroup'] as $check) 
     { 
      fwrite($userChoiceListWritable , $check."\n"); 
     } 
    } 
    fclose($userChoiceListWritable); 
} 

回答

0

你應該寫文件之前,該文件的內容輸出,而不是之後。將文件編寫代碼放在腳本的頂部,因爲它全部位於一個文件中。

+0

哇 - 謝謝。這對我的麻煩來說是一個相當蹩腳的理由,但現在爲什麼它必須這樣纔有意義。我對PHP很感興趣,而且真的是網絡上的東西,所以我只是把它拼湊在一起。再次感謝! – JToland