php编程每天必学之表单验证
本文实例讲解了php表单验证的实现方法,分享给大家供大家参考,具体内容如下
1.PHP表单处理
welcome.html
<html> <body> <formaction="welcome.php"method="post"> Name:<inputtype="text"name="name"><br> E-mail:<inputtype="text"name="email"><br> <inputtype="submit"> </form> </body> </html>
welcome.php
<html> <body> <!--PHP超全局变量$_GET和$_POST用于收集表单数据(form-data)--> Welcome<?phpecho$_POST["name"];?><br> Youremailaddressis:<?phpecho$_POST["email"];?> </body> </html>
2.PHP表单验证完整实例
<html>
<head>
</head>
<body>
<?php
//定义变量并设置为空值
$nameErr=$emailErr=$websiteErr="";
$name=$email=$website="";
if($_SERVER["REQUEST_METHOD"]=="POST"){
if(empty($_POST["name"])){
$nameErr="姓名是必填的";
}else{
$name=test_input($_POST["name"]);
//检查姓名是否包含字母和空白字符
//preg_match()函数检索字符串的模式,如果模式存在则返回true,否则返回false。
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";
}
}
}
functiontest_input($data){
//去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
$data=trim($data);
//删除用户输入数据中的反斜杠(\)
$data=stripslashes($data);
//把特殊字符转换为HTML实体
$data=htmlspecialchars($data);
return$data;
}
?>
<h2>PHP验证实例</h2>
<p><spanclass="error">*必需的字段</span></p>
<!--htmlspecialchars()函数把特殊字符转换为HTML实体。-->
<formmethod="post"action="<?phpechohtmlspecialchars($_SERVER["PHP_SELF"]);?>">
<!--value:保留表单中的值-->
姓名:<inputtype="text"name="name"value="<?phpecho$name;?>">
<spanclass="error">*<?phpecho$nameErr;?></span>
<br><br>
邮箱:<inputtype="text"name="email"value="<?phpecho$email;?>">
<spanclass="error">*<?phpecho$emailErr;?></span>
<br><br>
网址:<inputtype="text"name="website"value="<?phpecho$website;?>">
<spanclass="error"><?phpecho$websiteErr;?></span>
<br><br>
<inputtype="submit"name="submit"value="提交">
</form>
<?php
echo"<h2>您的输入:</h2>";
echo$name;
echo"<br>";
echo$email;
echo"<br>";
echo$website;
echo"<br>";
?>
</body>
</html>
希望本文所述对大家学习php程序设计有所帮助。