您应该从$_POST
服务器变量,而不是$_REQUEST
例如:。
(isset($_POST)) {
$postData = $_POST[\'post_data\'];
}
$_REQUEST
不会强迫您确定变量是否来自GET、POST、COOKIES等。这对于调试脚本或变量何时来自多个源中的一个非常有用。例如,您可能有来自表单(POST)或表单链接(GET)的表单信息。
但是,由于$_REQUEST
从包括cookie在内的多个来源捕获数据,因此,如果有人变得聪明而你不小心,则可能会出现不当行为。
为了在PHP中使用发布的JSON(JavaScript对象表示法)数据,您可以使用json_decode()
例如:。
$postData = json_decode( $_POST[\'post_data\'] );
然后,例如,要访问您需要使用的变量,请执行以下操作:
_wpnonce - $postData[0]->value
_wp_http_referer - $postData[1]->value
user_ID - $postData[2]->value
或者,如果您想返回更具可读性的整洁数组,可以在json\\u解码的$postData
:
$tidy_array = array();
foreach ( $postData as $object ){
$tidy_array[$object->name] = $object->value;
}
然后您可以这样访问数据:
$tidy_array[\'_wpnonce\']
$tidy_array[\'_wp_http_referer]
$tidy_array[\'user_ID\']