【发布时间】:2014-12-14 18:29:46
【问题描述】:
我最初以为是在$_POST 超级全局中,但如果值包含在 URL 中,则不是。
$_REQUEST 这样做了,让我惊讶的是不包括 cookie(参考 http://php.net/manual/en/reserved.variables.request.php),后来我发现我显然使用了默认的分发 php.ini 文件,它不包含 cookie 的“C”(参考http://php.net/manual/en/ini.core.php#ini.request-order)。但是,我不希望使用$_REQUEST,因为它不区分获取请求,并且更改服务器和 php.ini 文件可能会导致安全问题。
访问所有帖子值的正确方法是什么?
编辑。我添加了$real_post 部分。这是正确的做法吗?
<?php
setcookie('cookie', 'COOKIE', time() + (86400 * 30), "/");
echo('$_GET<pre>'.print_r($_GET,1).'</pre>');
echo('$_POST<pre>'.print_r($_POST,1).'</pre>');
echo('$_COOKIE<pre>'.print_r($_COOKIE,1).'</pre>');
echo('$_REQUEST<pre>'.print_r($_REQUEST,1).'</pre>');
$real_post=($_SERVER['REQUEST_METHOD'] == 'POST')?array_merge($_GET,$_POST):array();
echo('$real_post<pre>'.print_r($real_post,1).'</pre>');
?>
<form action='postorget.php?get=GET' method='post'>
<input type='text' name='post' value='POST'>
<input type='submit'>
</form>
$_GET
数组 ( [获取] => 获取)
$_POST
数组 ( [发布] => 发布)
$_COOKIE
数组 ( [cookie] => 饼干)
$_REQUEST
数组 ( [获取] => 获取 [发布] => 发布)
【问题讨论】:
-
我很好奇 - 你为什么需要它?
-
@u_mulder 添加日志功能并希望跟踪所有 GET 和 POST 值,结果让我感到惊讶。