我有一个这样的表格:
<input type="text" name="sth[]" />
<input type="text" name="sth[]" />
<input type="text" name="sth[]" />
<input type="text" name="sth[]" />
提交后我检查了一些条件,当有错误时,我想再次显示表单但是有发布的值。我怎样才能填写像这样的文件?
答案 0 :(得分:1)
您需要使用value
代码的<input>
属性,类似于:
<input type="text" name="sth[0]" value="<?php echo $_POST['sth'][0]; ?>" />
答案 1 :(得分: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; ?>
答案 2 :(得分: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']
不为空,则输入值将是用户输入的值。