我是wordpress开发的新手。
我正在尝试开发一个简单的插件用于实践。它涉及从前端提交表单。表单有一个带有以下代码的输入。
<input type=\'hidden\' name=\'test\' value=\'{"id": 1}\'/>
当我提交表单时,“test”字段的值在;初始化(&Q);钩
我的插件代码如下所示
add_action(\'init\', [$this, \'init\']);
function init() {
printe_r($_POST);
}
Output:
Array
(
[test] => {\\"id\\":1}
)
问题是
json_decode 出错。我必须使用
stripslashes 下面是对json字符串的解码。
json_decode(stripslashes($_POST[\'test\']));
Wordpress中是否需要此行为?
SO网友:fuxia
正如@mozboz所解释的,WordPress正在更改$_POST
, $_GET
, $_REQUEST
, 和$_COOKIE
. 如果需要原始值,请使用函数filter_input()
, 并确保牢记安全问题。
示例:
$test = filter_input( INPUT_POST, \'test\', FILTER_SANITIZE_STRING );