如何将数据返回到页面之前?

时间:2012-01-13 11:26:38

标签: php

您好我想填写报名表。 但是,如果在点击提交后数据失败,我不知道如何返回数据。 数据变空,所以我想在用户点击提交之前恢复。

 <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

提前感谢您的帮助,如果之前有人问过,我真的很抱歉。

3 个答案:

答案 0 :(得分: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是另一个页面,您应检查当前页面中的值,然后重定向到doregister.php,如果可以的话。

答案 1 :(得分:1)

只需将POST数组中每个元素的值回显到value标记的input属性即可。确保在回显它们之前先检查它是否已设置为空,否则您可能会收到一些错误通知

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

答案 2 :(得分:0)

正如Glide和Kemal已经说过的那样,那是怎么做的。

我通过在页面顶部设置变量来分隔它们:

$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: ''));

如果表单尚未提交,则将值设置为数据库值。