2012-01-13 65 views
0

嗨,我想作出登記表格。 但我不知道如果數據失敗後我點擊提交後如何返回數據。 數據變空了,所以我想在用戶點擊提交之前恢復。如何將數據返回到頁面之前?

<form id="form1" name="form1" method="post" action="doregister.php"> 
<input type="text" name="txtnama" id="txtnama" /> 
<textarea name="txtalamat" id="txtalamat" cols="30" rows="5"></textarea> 
<input type="submit" name="txtsubmit" id="txtsubmit" value="Submit" /> 
<input type="reset" name="txtreset" id="txtreset" value="Reset" /> 
</form> 

這裏的圖片: http://tinypic.com/r/160sopk/5

在此先感謝您的幫助,我真的很抱歉,如果這已問過。

回答

1

你必須把背貼值:

<form id="form1" name="form1" method="post" action="doregister.php"> 
    <input type="text" name="txtnama" id="txtnama"<?php echo (isset($_POST['txtnama'])) ? ' value="'.$_POST['txtnama'].'"' : '') ?>" /> 
    <textarea name="txtalamat" id="txtalamat" cols="30" rows="5"><?php echo (isset($_POST['txtalamat'] ? $_POST['txtalamat'] : '')) ?></textarea> 
    <input type="submit" name="txtsubmit" id="txtsubmit" value="Submit" /> 
    <input type="reset" name="txtreset" id="txtreset" value="Reset" /> 
</form> 

如果doregister.php是另一個頁面,你應該檢查在當前頁面中的值,如果OK,然後重定向到doregister.php

1

只需將POST數組中每個元素的值回顯到input標記的value屬性中即可。請確保您還檢查它是否設置或不爲空第一呼應出來之前,否則你可能會得到一些錯誤通知

<input type="text" name="txtnama" id="txtnama" value="<?php if (isset($_POST['txtnama'])){ echo $_POST['txtnama']; } ?>" /> 
0

正如已經由滑翔和凱末爾說,這是如何做到這一點。

我單獨他們一點通過在頁面頂部設置變量:

$txtnama = (isset($_POST['txtnama']) ? $_POST['txtnama'] : '');

然後包括它的形式:

<input type="text" name="txtnama" value="<?php echo $txtnama; ?>" />

我喜歡這個,因爲它在HTML中感覺不那麼混亂。此外,當我創建一個「編輯」的形式,我可以使用相同的形式,只是把這個頂部:

$txtnama = (isset($_POST['txtnama']) ? $_POST['txtnama'] : ($customer->txtnama!='' ? $customer->txtnama: '')); 

到如果表單尚未提交的值設置爲數據庫值。