我想构建一个简单的服务器端验证,我遇到了一个问题:
当用户提交数据并且不正确时,我想将正确的数据保存到输入中(例如:如果我有两个字段,用户名和电子邮件,但只有电子邮件无效,用户名应该是保存)。
在以下代码中,我尝试仅在初始化变量$validUser
时创建属性值。否则,我不想要值属性。代码无效。
<input type="text" placeholder="Username" name="username" id="username"
<?php
if ($validUser) echo "value='$validUser'";
?>
/>
我该怎么办?
答案 0 :(得分:0)
当用户提交数据时......
你的意思是有$ _POST或$ _GET请求吗?如果是这样,这会更有意义
<input id="username"
name="username"
placeholder="Username"
value="<?php echo isset($_GET['username']) ? $_GET['username'] : '' ?>">
如果$_GET['username']
不存在,您只需获得value=""
即可。
通过PHP手工编写HTML是一项繁琐的工作。为了解决这个问题,我编写了一个名为naomik/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">