PHP表单验证,无需重置所有其他值

塞缪尔

我有一个包含3个字段的表单,我想验证这些字段。

假设用户输入错误或未输入电子邮件,则所有其他字段(名称和地址)均重置为空白。

有什么方法可以显示错误消息(需要电子邮件),而无需重新设置名称和地址,从而使用户不必再次输入所有值?

这对于表单具有多个值的用户很有帮助。

太感谢了

请在下面查看我的PHP代码:

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$nameErr = $emailErr = $addressErr = "";
$name = $email = $address = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

if (empty($_POST["address"])) {
 $AddressErr = "Address is required";
} else {
 $address = test_input($_POST["address"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$address)) {
  $addressErr = "Only letters and white space allowed";
}
}


if (empty($_POST["name"])) {
 $nameErr = "Name is required";
} else {
 $name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Only letters and white space allowed";
}
}

if (empty($_POST["email"])) {
  $emailErr = "Email is required";
} else {
   $email = test_input($_POST["email"]);
 // check if e-mail address is well-formed
 if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
   $emailErr = "Invalid email format";
 }
 }


 <p><span class="error">* required field.</span></p>
 <form method="post" action="<?php echo  htmlspecialchars($_SERVER["PHP_SELF"]);?>">


<input type="text" name="name" placeholder="First Name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>

<input type="text" name="email" placeholder="Email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>


<input type="text" name="address" placeholder="Address">
<span class="error">* <?php echo $AddressErr;?></span>
<br><br>


<input type="submit" name="submit" value="SAVE">
</form>


<?php

if ($nameErr == '' && $emailErr == '' && $AddressErr == '') 
{

   $db = pg_connect('host=localhost dbname=test user=samuelraul password=naikaerikamber');

    $firstname = pg_escape_string($_POST['name']);
    $emailaddress = pg_escape_string($_POST['email']);
    $address = pg_escape_string($_POST['address']);

 $query = "INSERT INTO host(firstname, emailaddress, address) VALUES('" .     $firstname . "', ' '" . $emailaddress . "',  '" . $address . "')";

    $result = pg_query($db, $query);
    if (!$result) {
        $errormessage = pg_last_error();
        echo "Error with query: " . $errormessage;
        exit();
    }
    pg_close();

 }
?>

</body>
</html>
乌塔姆·库玛·罗伊(Uttam Kumar Roy)

您可以使用value="<?php echo $name;?>"name字段,因为您已经定义了$name变量。可以将$email$address变量分别用于email和address字段。

<form method="post" action="<?php echo  htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    <input type="text" name="name" placeholder="First Name" value="<?php echo $name;?>">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>
    <input type="text" name="email" placeholder="Email" value="<?php echo $email;?>">
    <span class="error">* <?php echo $emailErr;?></span>
    <br><br>
    <input type="text" name="address" placeholder="Address" value="<?php echo $address;?>">
    <span class="error">* <?php echo $AddressErr;?></span>
    <br><br>
    <input type="submit" name="submit" value="SAVE">
</form>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用其他表单值验证表单

来自分类Dev

使用按钮从其他表单中重置表单验证

来自分类Dev

PHP,使用所有其他数组值

来自分类Dev

获取PHP中数组的所有其他值

来自分类Dev

PHP,使用所有其他数组值

来自分类Dev

表单验证是否有任何值。其他明智的提交为空

来自分类Dev

验证器与表单中的其他值相同

来自分类Dev

停止jQuery表单验证以重置由其他JavaScript填充的typeahead.js输入字段

来自分类Dev

PHP表单仅将图像发布到MYSQL数据库,没有其他值

来自分类Dev

如何验证取决于 php laravel 中的其他值?

来自分类Dev

如何在Yii中给出验证规则以上传所有其他文件(.php,aspx,.cs等)

来自分类Dev

其他字段触发的AngularJS表单验证

来自分类Dev

python在其他函数中使用一个函数的输出,而无需调用所有其他函数

来自分类Dev

GROUP BY,但从其他列获取所有值

来自分类Dev

绘制前10节和其他所有值

来自分类Dev

汇总dplyr中每组的所有其他值

来自分类Dev

使用矩阵填充列中的所有其他值

来自分类Dev

将所有者设置为其他流程表单中的表单

来自分类Dev

远程表单打开页面上的所有其他远程表单

来自分类Dev

jQuery重置所有其他子元素的z-index

来自分类Dev

如何在表单提交时重置下拉值,其他输入值已在React Hooks中清除

来自分类Dev

C#当我隐藏ShowDialog表单时,除所有者外的所有其他表单

来自分类Dev

PHP数组如何检查所有数组值是否存在于其他数组中

来自分类Dev

简单的jQuery表单验证并将有效数据发送到其他jsp

来自分类Dev

angularjs其他表单验证规则(非输入字段验证)

来自分类Dev

Laravel 在表单请求验证后验证其他内容

来自分类Dev

仅当所有其他输入均有效时才验证ah:selectBooleanCheckbox

来自分类Dev

不同div中有多个表单元素-提交一个将重置其他div

来自分类Dev

删除所有自行安装的材料,并将ubuntu重置为默认值,而无需重新安装

Related 相关文章

  1. 1

    使用其他表单值验证表单

  2. 2

    使用按钮从其他表单中重置表单验证

  3. 3

    PHP,使用所有其他数组值

  4. 4

    获取PHP中数组的所有其他值

  5. 5

    PHP,使用所有其他数组值

  6. 6

    表单验证是否有任何值。其他明智的提交为空

  7. 7

    验证器与表单中的其他值相同

  8. 8

    停止jQuery表单验证以重置由其他JavaScript填充的typeahead.js输入字段

  9. 9

    PHP表单仅将图像发布到MYSQL数据库,没有其他值

  10. 10

    如何验证取决于 php laravel 中的其他值?

  11. 11

    如何在Yii中给出验证规则以上传所有其他文件(.php,aspx,.cs等)

  12. 12

    其他字段触发的AngularJS表单验证

  13. 13

    python在其他函数中使用一个函数的输出,而无需调用所有其他函数

  14. 14

    GROUP BY,但从其他列获取所有值

  15. 15

    绘制前10节和其他所有值

  16. 16

    汇总dplyr中每组的所有其他值

  17. 17

    使用矩阵填充列中的所有其他值

  18. 18

    将所有者设置为其他流程表单中的表单

  19. 19

    远程表单打开页面上的所有其他远程表单

  20. 20

    jQuery重置所有其他子元素的z-index

  21. 21

    如何在表单提交时重置下拉值,其他输入值已在React Hooks中清除

  22. 22

    C#当我隐藏ShowDialog表单时,除所有者外的所有其他表单

  23. 23

    PHP数组如何检查所有数组值是否存在于其他数组中

  24. 24

    简单的jQuery表单验证并将有效数据发送到其他jsp

  25. 25

    angularjs其他表单验证规则(非输入字段验证)

  26. 26

    Laravel 在表单请求验证后验证其他内容

  27. 27

    仅当所有其他输入均有效时才验证ah:selectBooleanCheckbox

  28. 28

    不同div中有多个表单元素-提交一个将重置其他div

  29. 29

    删除所有自行安装的材料,并将ubuntu重置为默认值,而无需重新安装

热门标签

归档