使用隐藏字段和PHP设置文本框值


setting text box values with hidden field and PHP

当用户提交表单并出现错误时,我希望他们键入的内容保留在文本框中,以便他们可以编辑它,而不是重新键入它。我正在尝试使用隐藏字段来存储此值。

echo '<table><form method="post" action="" name="groupInvite"> 
      <tr><td>Event Title:</td><td> <input type="text" name="eventTitle" value = "'.$_POST['hiddenTitle']. '"></td><td>';
      $hiddenTitle = $_POST['eventTitle'];
      echo '<input type="hidden" name="hiddenTitle" value = "' .$hiddenTitle. '">';

这:

<input type="hidden" name="hiddenTitle" value = "'<? $_POST['eventTitle'] >?'">

应为:

<input type="hidden" name="hiddenTitle" value="<?= $_POST['eventTitle'] ?>" />

<?=<? echo相同。你还混淆了结束标记,双引号中有单引号——我想你不需要这些,所以我删除了它们,但如果你想在文本框中显示这些,你仍然可以将它们添加回来。

前一个文本元素也需要<?=而不是<?


提交表单后,所有内容都保存在$_POST数组中(假设您正在发布表单)。

在表单中,您有一个文本框,用户填写该文本框,然后提交。只有一次;s将填充$_POST数组,所以您所需要做的就是:

<table><form method="post" action="" name="groupInvite">
<tr><td>Event Title:</td><td> <input type="text" name="eventTitle" value="<? if(isset($_POST['eventTitle']) && trim($_POST['eventTitle']) != ''){ echo $_POST['eventTitle']; } ?>"></td><td>

我们检查$_POST['eventTitle']是否存在(如果表单基本上是提交的),并且它不是空的。如果是这样的话,我们将其内容回显到文本框的值中。