表单验证实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<!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 ( "/\b(?:(?: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>

  

posted @   zxzhang  阅读(270)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示