使用此函数克服魔术引号时,表单不会返回数组?

发布于 2024-10-17 21:13:11 字数 489 浏览 3 评论 0原文

为了抵消魔术引号,我在每个页面的顶部设置了这个功能。 然而,当我有一个 形式的数组时,它似乎会产生影响。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟酒忠诚 2024-10-24 21:13:11

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.

浪漫人生路 2024-10-24 21:13:11

您可以使用 array_walk_recursive:

function gpc_stripslashes(&$value, $key) {
    $value = stripslashes($value);
}
array_walk_recursive($_GET, 'gpc_stripslashes');

或 PHP 5.3 方式(尽管 magic_quotes_gpc 在 5.3 中默认关闭):

array_walk_recursive($_GET, function (&$value, $key) {
    $value = addslashes($value);
});

You can use array_walk_recursive:

function gpc_stripslashes(&$value, $key) {
    $value = stripslashes($value);
}
array_walk_recursive($_GET, 'gpc_stripslashes');

Or PHP 5.3 way (although magic_quotes_gpc is off by default in 5.3):

array_walk_recursive($_GET, function (&$value, $key) {
    $value = addslashes($value);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文