PHP表单验证
2015-07-15 11:38
633 查看
<!DOCTYPE html> <html> <head> <title>Test Code</title> </head> <body> <h1> My PHP Test <h1> <?php echo "<h1><span style=\"color:#ff0000;\">2015/7/15 上午</span></h1>"; echo "A Simple Form-data<br>"; #<a href="/demo/test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a> ?> <!--一个简单的HTML表单--> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> Name: <input type="text" name="name"> <br> E-mail: <input type="text" name="email"> <br> <input type="submit"> </form> <?php $name=$_REQUEST['name']; echo $name; ?> <?php $nameErr = $emailErr = $genderErr = $websiteErr=""; $name=$email=$gender=$comment=$website=""; // 定义变量并设置为空值 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)) if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){ $emailErr="无效的 Email 格式 !"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); 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>表单验证实例</h2> <span style="color:#FF0000;">*必填字段</span> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP-SELF"]);?>"> <p> 姓名 : <input type="text" name="name" value="<?php echo $name;?>"> <span style="color:#FF0000"> * <?php echo $nameErr;?></span> <p> 电邮 : <input type="text" name="email" value="<?php echo $email;?>"> <span style="color:#FF0000"> * <?php echo $emailErr;?></span> <p> 网址 : <input type="text" name="website" value="<?php echo $website;?>"> <span style="color:#FF0000"> * <?php echo $websiteErr;?></span> <p> 评论 : <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea> <p> 性别 : <input type="radio" name = "gender" <?php if(isset($gender)&&$gender=="female") echo "Checked";?> value="female">女性 <input type="radio" name = "gender" <?php if(isset($gender)&&$gender=="male") echo "Checked";?> value="male">男性 <span style="color:#FF0000"> *</span> <p> <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; ?> <!-- (通过PHPtrim()函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行) (通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠(\) --> </body> </html>
相关文章推荐
- yii后台模板标签
- PHP实现对png图像进行缩放的方法(支持透明背景)
- [php] 实现倒计时
- THINKPHP中D方法调用逻辑层类
- 005.Output 格式符
- yii中获取当前模块,控制器,方法
- 百度PUSH PHP服务器端
- [php] 前后端URL编解码
- PHP5.5中新增foreach() 循环支持标量迭代键-foreach+list和array_column用法
- tp框架中表单数据的接收
- PECL源码编译安装
- PHP取中间文本
- PHP 判断是否包含某字符串
- 2015 PHP框架调查结果出炉,Laravel最受欢迎!
- ci(codeigniter)php框架再探-页面访问流程
- 终端执行php报错:PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0
- php设计模式之迭代器模式
- PHP设计模式之:单例模式
- 关于php中携带的php-fpm和php-cgi的理解纠正
- PHP结合JAVA的开发技术 LAJP