Php 在不清除表格的情况下,验证表格的最佳方法是什么?

Php 在不清除表格的情况下,验证表格的最佳方法是什么?,php,html,forms,Php,Html,Forms,我有一些html表单,我用php验证它们的完整性。我遇到的问题是,当一张必需的表格没有填写时,填写的表格就会被清除 HTML <p>Email: <span class="required">* <?php echo $EmailErr;?></span><input type="text" name="Email" placeholder="Email" /></p> <p>Comments: =input t

我有一些html表单,我用php验证它们的完整性。我遇到的问题是,当一张必需的表格没有填写时,填写的表格就会被清除

HTML

<p>Email: <span class="required">* <?php echo $EmailErr;?></span><input type="text" name="Email" placeholder="Email" /></p>
<p>Comments: =input type="text" name="Comments" maxlength="75" placeholder="Comments"/></p>

问题仍然是,如何防止其他表单在提交时被清除?

您应该执行客户端验证以保留表单上的值

也就是说,您仍然应该进行服务器验证

有不同的方法可以做到这一点,可以使用javascript/jquery,甚至可以简单地向标记添加
required
属性,例如:

<input type="text" name="Email" placeholder="Email" required/>

对于javascript:

对于jquery,这里有一个很好的插件:


电邮:*

如果阻止清除它们,则使用填写的值重新填充表单
value=$\u POST['what ever']
表单或字段?它们非常不同。我通过函数来验证表单,以清除输入,因为它们被插入到sql数据库中。在客户端验证表单后,您仍然可以在服务器上执行此操作。您可以让服务器使用post或会话数组重新显示值,但它很混乱
<input type="text" name="Email" placeholder="Email" required/>
<p>
    Email: <span class="required">*<?php echo $EmailErr; ?></span>
    <input type="text" name="Email" placeholder="Email" value="<?php echo!empty($_POST['Email']) ? htmlspecialchars($_POST['Email']) : '' ?>"/>
</p>
<p>
    Comments: <textarea name="Comments" maxlength="75" placeholder="Comments"><?php echo!empty($_POST['Comments']) ? htmlspecialchars($_POST['Comments']) : '' ?></textarea>
</p>