好的,我想知道在提交验证后是否有更简单的方法重新填充表单?
以此为例:
<input type="text" name="username" value="$_POST['username']" />
但是,它会自动说“未定义索引:用户名”
我们必须这样做:
if(isset($_POST['username'])) echo $_POST['username']
哪个非常难看..有没有办法做到这一点?欢迎举例。
答案 0 :(得分:0)
你可以这样做:
$username = isset($_POST['username']) ? $_POST['username'] : "";
echo "<input type=\"text\" name=\"username\"
value=\"".htmlspecialchars($username)."\" />"; // VERY important!
答案 1 :(得分:0)
您可以将其全部隐藏在可重复使用的功能中:
function showValue($key) {
$value = '';
if (isset($_POST[$key])) {
$value = $_POST[$key];
}
return $value;
}
然后使用它:
<input type="text" name="username" value="<?= showValue('username') ?>" />
答案 2 :(得分:0)
有三种想法:
myhelper('username')
。 myhelper
显然会包含isset
语句并回显或返回值(如果存在),否则null
echo isset($_POST['username']) ? $_POST['username'] : '';
答案 3 :(得分:0)
辅助功能方式,尽可能短:
<?php
print gv("u"); // Prints the value of $_POST['u']
function gv($n){echo(isset($_POST[$n]))?$_POST[$n]:"";}
?>