使用此函数克服魔术引号时,表单不会返回数组?
为了抵消魔术引号,我在每个页面的顶部设置了这个功能。 然而,当我有一个 形式的数组时,它似乎会产生影响。
if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) ) {
$_POST = array_map( 'stripslashes', $_POST );
$_GET = array_map( 'stripslashes', $_GET );
$_COOKIE = array_map( 'stripslashes', $_COOKIE );
}
我删除了该函数,它在打印数组时返回完整数组。 不过我还需要魔术引号。
通过该函数,我只需返回 Array 即可。
我怎样才能改变上面的功能或解决这个问题?
谢谢
To counteract magic quotes I have this function set at the top of every page.
However it seems to be affecting when I have an array in a form <input type="checkbox" name="check[]" />
.
if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) ) {
$_POST = array_map( 'stripslashes', $_POST );
$_GET = array_map( 'stripslashes', $_GET );
$_COOKIE = array_map( 'stripslashes', $_COOKIE );
}
I removed the function and it worked returning the full array when printing the array.
However I need magic quotes off and also.
With the funciton I just get Array
returned.
How can I change the function above or overcome this issue?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
php 网站上有一个关于如何禁用魔术引号,在
.ini
文件中和运行时。我强烈建议使用他们的代码而不是自制的代码。There is an excellent page on the php website about how to disable magic quotes, both in the
.ini
file and at runtime. I highly suggest using their code instead of something homebaked.您可以使用 array_walk_recursive:
或 PHP 5.3 方式(尽管 magic_quotes_gpc 在 5.3 中默认关闭):
You can use
array_walk_recursive
:Or PHP 5.3 way (although magic_quotes_gpc is off by default in 5.3):