我想构建一个简单的服务器端验证,但我遇到了一个问题:
当用户提交的数据不正确时,我希望在输入中保留正确的数据(例如:如果我有两个字段,用户名和电子邮件,但只有电子邮件无效,则应保存用户名)。
在下面的代码中,我试图仅在变量$validUser
初始化时创建属性值。否则,我不想要值属性。代码不起作用。
<input type="text" placeholder="Username" name="username" id="username"
<?php
if ($validUser) echo "value='$validUser'";
?>
/>
我该怎么办?
当用户提交数据时。。。
你的意思是有$_POST或$_GET请求吗?如果是这样,这将更有意义
<input id="username"
name="username"
placeholder="Username"
value="<?php echo isset($_GET['username']) ? $_GET['username'] : '' ?>">
如果$_GET['username']
不存在,你只会得到value=""
,这是一个非常好的
通过PHP手工编写HTML完全是一件苦差事。为了解决这个问题,我编写了一个名为htmlgen的实用程序,它使更容易忍受
<?php
use function htmlgen'html as h;
h('input#username', [
'name'=>'username',
'placeholder'=>'Username',
'value'=>isset($_GET['username']) ? $_GET['username'] : ''
]);
// => <input id="username" name="username" placeholder="Username" value="someuser">