刚开始自学php,关于表单验证,不明白,求帮忙

php中文网
发布: 2016-06-23 13:43:50
原创
1054人浏览过

// 定义变量并设置为空值
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $name = test_input($_POST["name"]);
  $email = test_input($_POST["email"]);
  $website = test_input($_POST["website"]);
  $comment = test_input($_POST["comment"]);
  $gender = test_input($_POST["gender"]);
}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>


在用户提交该表单时,我们还要做两件事:
(通过 PHP trim() 函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
(通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠()
他说这个样子可我根本不明白,怎么实现的,能不能来个详细注释,

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 193
查看详情 Find JSON Path Online

回复讨论(解决方案)

功能你自己都说出来了,还有什么不明白的?post提交的,就用post接收。。。。。 test_input 不过是一个简单的过滤函数而已

举个例子,$str="   hello   ",hello前后有三个空格,你可以用echo strlen($str)看到是有11个字符的,如果echo strlen(trim($str))看到就只有5个字符,因为前后的三个空格被去掉了...

 stripslashes()  也就是你说的去掉数据中存在的反斜杠,对应的有addslashes,对引号转移,也就是添加反斜杠,比如存在嵌套的引号时。

 htmlspecialchars 就是把一些特殊字符进行转码,从而不按本身来显示,比如会转换成 >  等等


你自己实际操作一下就明白了,这些都是基础

这个太简单了,

1.trim
把字符???的空格去掉。
例如
$str = '   abc  ' ;
echo $str; // '  abc  ';
echo trim($str); 'abc'

2.stripslashes
返回一个去除转义反斜线后的字符串(' 转换为 ' 等等)。双反斜线(\)被转换为单个反斜线()。 

例如特殊字符," '  等,直接?入mysql 是???的,所以要??些字符?? 要?\, '要?成'  "要?成" 才能正常使用。

而stripslashes的作用就是把???原。
' ?? '
\ ?未 
" ?? "

3.htmlspecialchars
html的????
例如你有?字符是
如果你直接?出,在?面上是看不到?西,因?是html??,?被??器解?。
所以就需要用到htmlspecialchars,把html????字符串。
????如下:
'&' (ampersand) becomes '&'  
2.  '"' (double quote) becomes '"' when ENT_NOQUOTES  is not set.  
3.  "'" (single quote) becomes ''' (or ') only when ENT_QUOTES  is set.  
4.  ' 5.  '>' (greater than) becomes '>' 

所以使用htmlspecialchars后???? 

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号