我想写一些插件,在管理面板和博客文章中添加表单。我现在正在使用magic_quotes挣扎。
首先,我尝试使用magic_quotes_gpc,就像在PHP中一样。但看起来WordPress忽略了这个标志,并且总是引用提交的表单内容(至少在帖子中的表单,管理面板中的表单都没有引用)。
但后来我将我的插件上传到DreamHost,它以不同的方式运作。
在WordPress插件中处理提交的表单内容的正确方法是什么?
答案 0 :(得分:0)
基本上,您似乎在(可能)您的开发环境和Dreamhost之间有不同的PHP配置。我假设您希望您的插件能够处理两种情况:magic_quotes开启和关闭。这是一些想法/想法。
您不能总是在运行时更改php.ini设置 - 这取决于服务器配置。
您也不能总是更改php.ini。 On Dreamhost this is possible,但不受支持。
您可以使用ini_get()检测是否激活了magic_quotes。
magic_quotes_gpc基本上在所有GET,POST和COOKIE数据上运行addslashes()
您可以使用stripslashes()执行反向操作。
一种常见的技术是编写一个简单的包装器来访问参数(GET / POST / COOKIE),例如:
function myplugin_param($name)
{
if (ini_get('magic_quotes_gpc'))
{
return stripslashes($_REQUEST[$name]);
}
return $_REQUEST[$name];
}
希望有所帮助!