你是否正在寻找关于stripslashes的内容?让我把最简洁的东西奉献给你:
php stripslashes和addslashes的区别
作者: 字体:[ ] 类型:转载 时间:2014-02-03
这篇文章主要介绍了php stripslashes和addslashes的区别,特分享下方便需要的朋友。
我们在向mysql写入数据时,比如:
复制代码 代码如下:
mysql_query(“update table set `title`=’kuhanzhu’s blog'”);
那就会出错。同asp时一样,都会对单引号过敏。而addslashes在这个时候就最长面子了,跟asp的replace(”‘”,”””,”kuhanzhu’s blog”)功能一样。
PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境。
当magic_quotes_gpc = On时,使用了addslashes()处理后的数据在中将以’形式保存,如果此时直接输出的话,就会发现比自己期待的内容多了个,因此stripslashes()出场了,它能把去掉(区别于str_replace(””, “”,$Str))。
当magic_quotes_gpc = Off时,使用了addslashes()处理后的数据在中将以’形式保存,没有上面说的有的问题,addslashes()起到插入数据不出错的作用,如果此时直接输出的话,数据正常。不需要再用stripslashes()。
addslashes()和stripslashes()正好是相反的,直接记忆:addslashes()加个,stripslashes()去个
那么什么时候用呢?
简单说:
当magic_quotes_gpc = On时,系统会自动处理单引号等问题,用不用addslashes()和stripslashes()都没关系,但是如果添加数据时用了addslashes(),那么显示数据时必须要stripslashes()
当magic_quotes_gpc = Off时,系统不会处理单引号等问题,所以插入数据时必须要使用addslashes(),显示数据时则不需要使用stripslashes()。
既然有了分析,做程序时要怎么办呢?根据以上两种情况,可得:
不管magic_quotes_gpc是On还是Off,咱添加数据时都用addslashes(),当On时,必须使用stripslashes(),Off时则不能用stripslashes(),。
如何判断On还是Off呢?用get_magic_quotes_gpc()。
最后举例:
复制代码 代码如下:
代码
//提交数据,或者变量准备:
$Content=addslashes(”这里面是数据,不管有没单引号或者还是变量”);
//插入数据到,代码省略
//开始显示数据
$Content=”从读取的数据”;
if(get_magic_quotes_gpc()){
Content=stripslashes(Content);
}
echo $Content;
您可能感兴趣的文章:
Tags:stripslashes addslashes
相关文章
最新评论
以上就是关于stripslashes的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-16254-1.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184250.html原文链接:https://javaforall.cn