如何在字段旁边显示错误消息

时间:2019-04-19 04:17:41

标签: php

我正在构建一个简单的表单,用户可以在其中输入数据,但是当出现例如无效电子邮件等错误时。该错误指示无效电子邮件出现在页面顶部,我希望它显示在页面的侧面。输入字段,我尝试了各种方法,但是失败了,我是编程新手,请多多帮助。

谢谢。

这是我的HTML代码:

int __stdcall Calc(int num_lab, int num_rec, bool isFailStep2, 
        bool isHandleStep2, char *errorText, const int errorTextLen)

这是我的php代码:

<!DOCTYPE html>
<html>
<head>
    <title>login form</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div class="container">
        <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
            <label>Name :</label>
            <input type="text" name="name" id="name" placeholder="Name">
            <span class="error"><?php echo $nameErr;?></span>
            <br><br>
            <label>Adress :</label>
            <input type="text" name="adress" id="adress" placeholder="Adress"><br><br>
            <label>E-mail :</label>
            <input type="text" name="email" id="email" placeholder="E-mail">
            <span class="error"><?php echo $emailErr;?></span>
            <br><br>
            <label>Password :</label>
            <input type="Password" name="password" id="password" placeholder="Password"><br><br>
            <label>Gender :</label>
            <input type="radio" name="gender" value="male" class="radio1">male
            <input type="radio" name="gender" value="female" class="radio1">female
            <input type="radio" name="gender" value="other" class="radio1">other
            <br><br>
            <button type="sumbit" value="sumbit" name="sumbit">sumbit</button>
        </form>
    </div>

</body>
</html>

3 个答案:

答案 0 :(得分:0)

鉴于您的PHP和HTML代码位于同一.php文件中,我猜是因为您正在向PHP_SELF提交表单,

在HTML代码中,您可以添加一个PHP循环以在PHP代码$error[]变量中显示错误。

例如:

要在其中显示错误的html文件中:

...
    <?php 
    foreach($error as $err){
        echo "<div class='error'>".$err."</div>"; // changed to div to seperate lines
    }
    ?>
...

您当前的HTML使用的PHP变量$emailErr$nameErr在您的PHP文件中未设置,这就是为什么在您提交表单后它们可能不会出现的原因。

if(empty($_POST["email"])) 
    $emailErr = "Please enter an email.";

if(empty($_POST["name"])) 
    $nameErr = "Name is required.";

答案 1 :(得分:0)

应用它:

<form method="POST">
    <label>Name :</label>
    <input type="text" name="name" id="name" placeholder="Name">
    <span class="error"><?php echo $nameErr;?></span>
    <br><br>
    <label>E-mail :</label>
    <input type="text" name="email" id="email" placeholder="E-mail">
    <span class="error"><?php echo $emailErr;?></span>
    <br><br>
    <button type="sumbit" value="sumbit" name="sumbit">sumbit</button>
</form>

PHP代码:

<?php
if(isset($_POST['sumbit'])){
    if(empty($_POST["name"])){
        $nameErr = "Name is required";
    }else{
        $name = $_POST["name"];
        $nameErr="";
    }

    if(empty($_POST["email"])){
        $emailErr = "Email is required";
    }else{
        $email = $_POST["email"];
        $emailErr = "";
    }
}
?>

看起来会更好,如果您可以应用jQuery表单验证,请尝试- jQuery validation – Name, Email, Password and Phone no validation

答案 2 :(得分:-1)

您可以为此使用jquery验证引擎。它将自动完成您的工作。

如何使用它?

here.下载jquery验证引擎插件并解压缩。

在文件夹中,您可以找到这两个文件。

jquery.validationEngine-en.js 
jquery.validationEngine.js

复制并粘贴到您的工作项目的资产->脚本->中。

然后按如下所示更改src路径。

<script src="assets/scripts/jquery.validationEngine-en.js" type="text/javascript" charset="utf-8"></script>

<script src="assets/scripts/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>

有关更多详细信息,您可以访问here