php基础教程——表单验证(必填、提交后数据保留)
2015-01-21 11:46
781 查看
一、表单验证中用到的几个元素记录
1.htmlspecialchars(),用于将用户输入的特殊字符转义为普通字符,比如 < 和 > 之类的 HTML 字符会被替换为 < 和 >
2.$_SERVER["PHP_SELF"] 是一种超全局变量,返回当前页面脚本名字
3.trim()用于删除多余的空格等
4.stripslashes()用于删除用户多输入的反斜线
二、一个简单的表单验证函数
1.php代码中,验证输入框是否为空,是则增加错误信息,用于在HTML中显示,非空则验证和处理输入
2.HTML代码中插入输出错误信息的php代码片段如<span class="error">*<?php echo $emailErr?></span><br/>
$emailErr为保存错误信息变量,起始为空。
简单示例:
显示裁图:
四、表单数据的保留
在上述代码中只需改动如下 <input>标签中添加PHP片段:<input type='' name='' value="<?php echo $name?>">
对<textarea>元素,只需将php片段添加在<textarea></textarea>之间
对单选,较麻烦,在<input>中添加代码:<?php if (isset($gender)) && $gender == 'female') echo 'checked';?>
1.htmlspecialchars(),用于将用户输入的特殊字符转义为普通字符,比如 < 和 > 之类的 HTML 字符会被替换为 < 和 >
2.$_SERVER["PHP_SELF"] 是一种超全局变量,返回当前页面脚本名字
3.trim()用于删除多余的空格等
4.stripslashes()用于删除用户多输入的反斜线
二、一个简单的表单验证函数
function test_input($str){ $str = trim($str);//去除空格等 $str = stripslashes($str);//去除用户输入的反斜线 $str = htmlspecialchars($str);//转意特殊字符为普通字符 return $str; }三、表单中必填项的提示代码
1.php代码中,验证输入框是否为空,是则增加错误信息,用于在HTML中显示,非空则验证和处理输入
2.HTML代码中插入输出错误信息的php代码片段如<span class="error">*<?php echo $emailErr?></span><br/>
$emailErr为保存错误信息变量,起始为空。
简单示例:
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
$name = $email = $website = $area = $gender = "";
$nameErr = $emailErr = "";
if ($_SERVER['REQUEST_METHOD'] == 'POST'){//attention $_SERVER['REQUEST_METHOD']
if (empty($_POST['name'])){
$nameErr = "姓名必填";
}else{
$name = test_input($_POST['name']);
}
if (empty($_POST['email'])){
$emailErr = "电邮必填";
}else{
$email = test_input($_POST['email']);
}
if (empty($_POST['website'])){
$website = "";
}else{
$website = test_input($_POST['website']);
}
if (empty($_POST['area'])){
$area = "";
}else{
$area = test_input($_POST['area']);
}
if (empty($_POST['gender'])){
$gender = "";
}else{
$gender = test_input($_POST['gender']);
}
}
function test_input($str){ $str = trim($str);//去除空格等 $str = stripslashes($str);//去除用户输入的反斜线 $str = htmlspecialchars($str);//转意特殊字符为普通字符 return $str; }
?>
<p class="error">*为必填</p><!--attention $_SERVER['PHP_SELF']-->
<form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
姓名:<input type="text" name="name">
<span class="error">*<?php echo $nameErr?></span><br/>
电邮:<input type="text" name="email">
<span class="error">*<?php echo $emailErr?></span><br/>
网址:<input type="text" name="website"><br/>
评论:<textarea name="area" rows="4" cols="40"></textarea><br/>
性别:
<input type="radio" name="gender" value="female">女性
<input type="radio" name="gender" value="male">男性<br/>
<input type="submit" value="提交" name="submit"><br/>
</form>
<?php
echo "您的输入是:<br/>";
echo "姓名:",$name;
echo "<br/>电邮:", $email;
echo "<br/>网址:", $website;
echo "<br/>评论:", $area;
echo "<br/>性别:", $gender;
?>
显示裁图:
四、表单数据的保留
在上述代码中只需改动如下 <input>标签中添加PHP片段:<input type='' name='' value="<?php echo $name?>">
对<textarea>元素,只需将php片段添加在<textarea></textarea>之间
对单选,较麻烦,在<input>中添加代码:<?php if (isset($gender)) && $gender == 'female') echo 'checked';?>
<form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> 姓名:<input type="text" name="name" value="<?php echo $name;?>"> <span class="error">*<?php echo $nameErr?></span><br/> 电邮:<input type="text" name="email" value="<?php echo $email;?>"> <span class="error">*<?php echo $emailErr?></span><br/> 网址:<input type="text" name="website" value="<?php echo $website;?>"><br/> 评论:<textarea name="area" rows="4" cols="40"><?php echo $area;?></textarea><br/> 性别: <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">男性<br/> <input type="submit" value="提交" name="submit"><br/> </form>
相关文章推荐
- php表单提交数据的验证处理(防SQL注入和XSS攻击等)
- PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
- PHP表单提交数据 - 自动验证合法性
- php表单,HTML表单提交后,返回,保留表单数据
- php学习笔记-保留表单在用户提交表单后的输入数据
- 提交表单出错 [HttpException (0x80004005): 无法验证数据。]
- 四、处理表单数据 (基础教程4)
- Silverlight实例教程 - Validation数据验证基础属性和事件
- PHP表单提交数据表,自动过滤不需要单元
- PHP的一个基础知识 表单提交
- greasemonkey基础教程及如何自动提交按钮和表单
- Silverlight实例教程 - Validation用户提交数据验证捕获
- php 安全基础 第二章 表单及URL 欺骗表单提交
- Javascript 表单验证对象控件 + ajax简单验证重复项与ajax提交数据
- PHP表单提交数据表-自动填充表字段在$_POST中无数据单元
- PHP基础教程-数据结构
- php的表单提交(post接收数据)和js弹出框的应用
- php获取表单提交的数据
- Silverlight实例教程 - Validation数据验证基础属性和事件
- Silverlight实例教程 - Validation用户提交数据验证捕获