2015-04-01 97 views
-1

當我在文本框中創建了一些輸入(例如:test123)並且我提交頁面時,它只顯示空白輸入。重新加載(頁面刷新)文本「test123」在窗體中顯示後。當我嘗試編輯以前輸入的文本時,也會發生這種情況,例如:將「test123」輸入編輯到「test12345」,點擊提交它將顯示「test123」,頁面刷新後顯示「test12345」。PHP文本框顯示提交後的最後一個輸入

echo '<form action="" method="post">'; 
$content = file_get_contents($file); 
echo '<textarea style="width: 99.3%; height: 700px; margin-left:-1px" name="cfgtekst">'.htmlspecialchars($content).'</textarea>'; 
echo '<center><input type="submit" class="btn btn-primary confirm_t btn btn-sucess" value="'.$usavechange.'" />'; 
echo '<a href="serverdetalji.php?sid='.$serverid.'" class="btn btn-primary confirm_t btn btn-warning">'.$uotkazi.'</a></center>'; 
echo '</form>'; 

if(isset($_POST)) 
{ 
    $cfgtekst = $_POST['cfgtekst']; 
    $stream_options = array('ftp' => array('overwrite' => true)); 
    $stream_context = stream_context_create($stream_options); 
    if ($fh = fopen($file, 'w', 0, $stream_context)) 
    { 
     fputs($fh, $cfgtekst); 
     fclose($fh); 
    } 
} 
+0

由於這是一個直接的FTP編輯表單,因此數組('overwrite'=> true)必須站在那裏,編輯文件中根本沒有任何更改。 你可能有一些快速解決方案嗎? – Tuna 2015-04-01 23:32:10

回答

0

新值僅在刷新後顯示,因爲您正在從文件讀取舊值,然後保存新值。反向該訂單:

if(isset($_POST)) 
{ 
    $cfgtekst = $_POST['cfgtekst']; 
    $stream_options = array('ftp' => array('overwrite' => true)); 
    $stream_context = stream_context_create($stream_options); 
    if ($fh = fopen($file, 'w', 0, $stream_context)) 
    { 
     fputs($fh, $cfgtekst); 
     fclose($fh); 
    } 

} 

echo '<form action="" method="post">'; 
$content = file_get_contents($file); 
echo '<textarea style="width: 99.3%; height: 700px; margin-left:-1px" name="cfgtekst">'.htmlspecialchars($content).'</textarea>'; 
echo '<center><input type="submit" class="btn btn-primary confirm_t btn btn-sucess" value="'.$usavechange.'" />'; 
echo '<a href="serverdetalji.php?sid='.$serverid.'" class="btn btn-primary confirm_t btn btn-warning">'.$uotkazi.'</a></center>'; 
echo '</form>'; 

順便說一句,我建議你節省一些時間和使用數據庫;在Web應用程序中使用這樣的文件非常容易出錯。

另請注意,通過此代碼,如果其他人以某種方式在其保存時間和讀取文件之間潛入另一篇文章,您將獲得它們的價值。

+0

完成&它的工作! :)謝謝你,欠你一杯啤酒 – Tuna 2015-04-01 23:34:54

相關問題