表单验证实例

<!DOCTYPE HTML>
<html>

<head>
    <style>
    .error {
        color: #FF0000;
    }
    </style>
</head>

<body>
    <?php
            // 定义变量并设置为空值
                $nameErr = $emailErr = $genderErr = $websiteErr = null;
                $name = $email = $gender = $comment = $website = null;
                
                
                if ($_SERVER ["REQUEST_METHOD"] == "POST")
                {
                    if (empty ( $_POST ["name"] ))
                    {
                        $nameErr = "姓名是必填的";
                    }
                    else
                    {
                        $name = test_input ( $_POST ["name"] );
                        // 检查姓名是否包含字母和空白字符
                        if (! preg_match ( "/^[a-zA-Z ]*$/", $name ))
                        {
                            $nameErr = "只允许字母和空格";
                        }
                    }
                    
                    if (empty ( $_POST ["email"] ))
                    {
                        $emailErr = "电邮是必填的";
                    }
                    else
                    {
                        $email = test_input ( $_POST ["email"] );
                        // 检查电子邮件地址语法是否有效
                        if (! preg_match ( "/([w-]+@[w-]+.[w-]+)/", $email ))
                        {
                            $emailErr = "无效的 email 格式";
                        }
                    }
                    
                    if (empty ( $_POST ["website"] ))
                    {
                        $website = "";
                    }
                    else
                    {
                        $website = test_input ( $_POST ["website"] );
                        // 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠)
                        if (! preg_match ( "/(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i", $website ))
                        {
                            $websiteErr = "无效的 URL";
                        }
                    }
                    
                    if (empty ( $_POST ["comment"] ))
                    {
                        $comment = "";
                    }
                    else
                    {
                        $comment = test_input ( $_POST ["comment"] );
                    }
                    
                    if (empty ( $_POST ["gender"] ))
                    {
                        $genderErr = "性别是必选的";
                    }
                    else
                    {
                        $gender = test_input ( $_POST ["gender"] );
                    }
                }
                function test_input($data)
                {
                    $data = trim ( $data );
                    $data = stripslashes ( $data );
                    $data = htmlspecialchars ( $data );
                    return $data;
                }
         ?>
        <h2>PHP 验证实例</h2>
        <p>
            <span class="error">* 必需的字段</span>
        </p>
        <form method="post" action="<?php echo htmlspecialchars($_SERVER[" PHP_SELF "]);?>">
            姓名:
            <input type="text" name="name"><span class="error">* <?php echo $nameErr;?></span>
            <br>
            <br> 电邮:
            <input type="text" name="email"><span class="error">* <?php echo $emailErr;?></span>
            <br>
            <br> 网址:
            <input type="text" name="website"><span class="error"><?php echo $websiteErr;?></span>
            <br>
            <br> 评论:
            <textarea name="comment" rows="5" cols="40"></textarea>
            <br>
            <br> 性别:
            <input type="radio" name="gender" value="female">女性
            <input type="radio" name="gender" value="male">男性 <span class="error">* <?php echo $genderErr;?></span>
            <br>
            <br>
            <input type="submit" name="submit" value="提交">
        </form>
        <?php
                echo "<h2>您的输入:</h2>";
                echo $name;
                echo "<br>";
                echo $email;
                echo "<br>";
                echo $website;
                echo "<br>";
                echo $comment;
                echo "<br>";
                echo $gender;
        ?>
</body>

</html>

  

原文地址:https://www.cnblogs.com/ZhaoxiCheung/p/6940757.html