处理HTML表单(11)
2018-06-22 05:38:32来源:未知 阅读 ()
PHP和Web表单
<?php if(isset($_POST["name"])){//isset()函数设置变量是否设置,并且不能为空 $name = $_POST["name"]; $pass = $_POST["pass"]; printf("姓名:%s",$name); printf("密码:%s",$pass); } ?> <form action="index.html" method="POST"> <p> Name:<br/> <input type="text" name="name"/> </p> <p> Pass:<br/> <input type="text" name="pass"/> </p> <input type="submit" value="提交"/> </form>
验证表单数据
- 清理用户输入
·转义shell参数
escapeshellarg()函数
$str = "文本"; echo escapeshellarg($str);//将字符串添加一个双引号
·转义shell元字符
escapeshellcmd()函数
$str = " # $ ; , | * ? , ~ < > ( ) { } [ ] & \\ \x0A \xFF"; escapeshellcmd($str);escapeshellcmd()函数自动转义以上字符
·将HTML转换为HTML实体
htmlentities()函数
$xiu = "&"; echo htmlentities($xiu);//浏览器源代码为&
·剔除用户输入中的HTML标签
strip_tags()函数
$xiu = "<h1>h1标签</h1>,<h2>h2标签</h2>"; $xiu = strip_tags($xiu,"<h1>");//保留<h1>标签,多个标签逗号隔开 echo $xiu;//"<h1>h1标签</h1>,h2标签";
- 利用Filter扩展验证和清理数据
filter_var()函数
Filter扩展的验证功能
FILER_VALIDAYE_BOOLEAN(布尔值)
FILER_VALIDATE_EMAIL(电子邮件地址)
FILER_VALIDATE_FLOAT(浮点数)
FILER_VALIDATE_INT(整数)
FILER_VALIDATE_IP(IP地址)
FILER_VALIDATE_REGEXP(正则表达式)
FILER_VALIDATE_URL(URL)
$email = "xiukang@qq.com"; if(filter_var($email,FILTER_VALIDATE_EMAIL)){//filter_var()函数验证数据类型 echo "成功"; }
用Filter扩展清理数据
FILTER_SANITIZE_EMAIL(电子邮件之外的字符全部删除 RFC822)
FILTER_SANITIZE_URL(URL之外的字符全部删除 RFC3986)
FILTER_SANITIZE_ENCODED(对一个字符串完成URL编码,生成与urlencode()函数所返回结果相同的输出)
FILTER_SANITIZE_MAGIC_QUOTES(使用addslaches()函数用一个反斜杠转义可能危险的字符)
FILTER_SANITIZE_NUMBER_FLOAT(删除所有导致浮点值无法由PHP识别的字符)
FILTER_SANITIZE_NUMBER_INT(删除所有导致整数值无法由PHP识别的字符)
FILTER_SANITIZE_SPECIAL_CHARS(对 ' " < >和$字符进行HTML编码,对ASCII值小于32的字符进行编码,包括制表符,退格符)
FILTER_SANITIZE_STRING(清除所有HTML标签)
$email = "xiukang@qq.com ,sear"; $email = filter_var($email,FILTER_SANITIZE_EMAIL);//删除RFC822之外所有字符 echo $email;//xiukang@qq.comsear
- 处理多值表单组件
为了让PHP识别赋给表单的多个值,需要对表单项名添加一个中括号
PHP就会像处理数组一样处理所提交的变量
<?php if(isset($_POST["submit"])){ foreach($_POST["languages"] as $language){ $xiu = htmlentities($language); echo $xiu."<br/>"; } } ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST"> <input type="checkbox" name="languages[]" value="php"/>php<br/> <input type="checkbox" name="languages[]" value="c++"/>c++<br/> <input type="checkbox" name="languages[]" value="java"/>java<br/> <input type="checkbox" name="languages[]" value="html"/>html<br/> <input type="submit" name="submit" value="提交"/> </form>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP错误和异长常处理总结 2020-03-04
- php中防止表单重复提交的方法 2020-02-13
- php表单习惯用的正则表达式 2020-01-16
- PHP+redis实现添加处理投票的方法 2019-12-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash