-1

我有这样的表格:

<input type="text" name="sth[]" />
<input type="text" name="sth[]" />
<input type="text" name="sth[]" />
<input type="text" name="sth[]" />

提交后,我检查一些条件,当出现错误时,我想再次显示表单但带有已发布的值。我怎样才能填写这样的文件?

4

3 回答 3

1

您将需要使用标签的value属性<input>,类似于:

<input type="text" name="sth[0]" value="<?php echo $_POST['sth'][0]; ?>" />
于 2013-06-07T09:43:37.003 回答
0

在您的 php 代码中,

<?php
$total_inputs = 4;
if (isset($_POST['sth'])) {
$sth = $_POST['sth']);
} else {
$sth = array_fill(0, $total_inputs, '');
}
?>

在您的 html 中,

<?php for ($i = 0; $i < $total_inputs, $i++): ?>
<input type="text" name="sth[<?php echo $i ?>]" value="<?php echo $sth[$i]?>" />
<?php endfor; ?>
于 2013-06-07T09:48:25.513 回答
0
<?php
   $sth = array('','','','');
   if(isset($_POST[sth]) && count($_POST['sth']) == 4) {
      $sth = $_POST['sth'];
   }
?>

<input type="text" name="sth[]" value="<?php echo $sth[0]; ?>"/>
<input type="text" name="sth[]" value="<?php echo $sth[1]; ?>"/>
<input type="text" name="sth[]" value="<?php echo $sth[2]; ?>"/>
<input type="text" name="sth[]" value="<?php echo $sth[3]; ?>"/>

$sth此代码首先用一个包含四个空字符串的数组填充变量。然后它检查 是否$_POST['sth']不为空且大小等于 4,如果是,则使用发布数据覆盖旧数组。将value="..."设置当前输入字段的值。因此,如果$_POST['sth']为空,则输入的值将是''(空字符串)。但如果$_POST['sth']不为空,则输入值将是用户输入的值。

于 2013-06-07T09:48:31.707 回答