0

我在另一个问题(在每个字段旁边显示表单验证错误)发现了以下代码:

 <?php
        $error = array(
            "name" => "",
            "email" => "",
            "subject" => "",
            "message" => ""
        );
    ?>

    <?php
        if (empty($_POST["email"]))
            $error["email"] = "Email is required!";
        elseif (!isEmail($_POST["email"]))
            $error["email"] = "Not a Valid Email!";
    ?>

如果没有错误,它将为空,并且用户不会看到错误消息。

在您的表单代码中,您只需以这种方式更新:

    <small class="errorText"><?php echo $error["name"]; ?></small>
    <small class="errorText"><?php echo $error["email"]; ?></small>

在后端的位置,$error["email"]将有"This field is required"or "Not a valid email address!"

我试图将此应用于我的代码:

所以我将上面的 php 部分粘贴到 email.php 中,并像这样更新了我的表单:

    <form id="contacts-form" method="post" action="email.php" target="myiframe" >
       <fieldset>
       <div class="field">
          <label>Your E-mail:</label>
          <input type="email" name="email" value=""/>
          <small class="errorText"><?php echo $error["email"]; ?></small>
       </div>
       ...

现在我得到一个错误,说 $error 没有定义。请记住,我是 php/HTML 设计的新手,我正在尝试通过示例学习

谢谢

4

1 回答 1

0

首先你应该修复这条线,

if (empty()$_POST["email"])

它应该是

if (empty($_POST["email"]))

其次,显示错误是因为您可能没有在表单中定义 $error。要检查是否已定义错误,您可以像这样使用它

<?php echo isset($error['name'])?$error['name']:""; ?>

另外请注意,要显示此设置的错误,您应该将表单指向表单所在的同一文件。

在此处阅读有关 isset的信息

在此处阅读语法

于 2013-02-10T21:06:58.403 回答