- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚安装了 WAMP,我可以访问本地主机并获取 phpinfo() 输出。
但是,虽然我可以看到 _SERVER['REQUEST_METHOD'] 设置为 GET,但我正在尝试使用以下 PHP:
if ($_SERVER["REQUEST_METHOD"]=="POST") {
...
但它会产生这个错误:
PHP Notice: Undefined index: REQUEST_METHOD in C:\ ... \test.php on line 40
使用 Komodo 在第 40 行停止并检查 $_SERVER - 数组中根本没有“REQUEST_METHOD” - 甚至没有 GET。
有人有什么想法吗?我是否必须启用 POST、REQUEST_METHOD?
为什么我可以在 phpinfo 中看到 REQUEST_METHOD=GET 而在 PHP 脚本中却看不到。
我也试过这个:
<?php
ob_start();
phpinfo();
$info = ob_get_contents();
ob_end_clean();
?>
我生成了一些 phpinfo(在浏览器中使用 localhost/?phpinfo=1 查看)但不是全部。为什么不呢?
最佳答案
大多数 $_SERVER 指令由网络服务器设置。如果您使用的是 WAMP,那将是 Apache。您可以检查您的 Apache 配置以找出未设置此值的原因。
最好在尝试使用值之前测试它们是否存在。
$value = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : null;
您甚至可以使用 getenv()缩短这个的方法。
$value = getenv('REQUEST_METHOD');
也没有必要做
<?php
ob_start();
phpinfo();
$info = ob_get_contents();
ob_end_clean();
?>
这就是您在空白 PHP 文件中所需要的全部内容。
<?php phpinfo();
我会这样写你的例子:
$request_method = strtoupper(getenv('REQUEST_METHOD'));
$http_methods = array('GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS');
if( ! in_array($request_method, $http_methods)
{
die('invalid request');
}
关于php - $_SERVER ['REQUEST_METHOD' ] 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12754388/
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: HTTP_HOST vs. SERVER_NAME $_SERVER['HTTP_HOST'] 和 $_SERV
我有一个反馈表,它将包含几个用户输入的字段以及一些由 PHP 函数生成的字段,例如“user-agent”和“referer”。 我的问题是这些字符串在输入之前是否应该进行清理?我知道可以很容易地更改
我打印了 $_SERVER,发现 $_SERVER['REDIRECT_URL'] 与 $_SERVER['REQUEST_URI'] 的值相同。两者有什么区别? 最佳答案 REQUEST_URI 是
有什么区别: $_SERVER['SCRIPT_NAME'] 和 $_SERVER['PHP_SELF'] 谢谢。 最佳答案 它们应该包含相同的信息。但是,从历史和技术上来说,两者是有区别的。 SCR
我带着一个简单的问题(或相关问题)回来了。 问题很简单,但我还没有收到答案。我问过很多有不同 PHP 经验的人。但我得到的回应是:“我不知道。我从来没有想过这个。”使用谷歌我找不到任何关于此的文章。希
$_SERVER['PATH_INFO'] 和 $_SERVER['ORIG_PATH_INFO'] 有什么区别?我该如何使用它们? 当我运行 print_r($_SERVER) 时,PATH_INF
我有一个 php 框架,我使用 $_SERVER['SCRIPT_NAME'] 来优化可移植性。这样我就不需要再手动配置路径了。 $this->base_url = str_replace('inde
我做了很多搜索,还阅读了 PHP $_SERVER docs .我是否有权在我的 PHP 脚本中使用哪个用于在整个网站中使用的简单链接定义? $_SERVER['SERVER_NAME'] 基于您的
使用 $_SERVER['REQUEST_URI'] 或 $_SERVER['PHP_SELF'] 作为表单中的操作或作为 href链接? 如果是这样,可以采取哪些措施来降低风险? 最佳答案 您在 w
我必须从 server script 获取远程 url 主机名,以下哪个更可靠: gethostbyaddr($_SERVER['REMOTE_ADDR']) 或 $_SERVER['REMOTE_H
在开始之前,我想指出我浏览了 Stack Overflow 并发现了其他类似的问题 - PHP_AUTH_USER not set?和 HTTP Auth via PHP - PHP_AUTH_USE
我在 php 脚本中使用 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_URI'] 来获取页面的 url,但 envato 主题检查插件显示警告。 警告:在文件
我位于透明代理后面,该代理始终添加 HTTP_X_FORWARDED_FOR header 。 当我使用 PHP 转储 header 时, header 丢失了。但Python可以工作..哈哈 Pyt
这是对 this question 的扩展我们了解到可以使用 SetEnv 设置 $_SERVER 变量。 下一个问题是:有没有一种方法可以像这样使用 SetEnv: /var/www/www.exa
是否可以使用 .htaccess 或其他 apache 功能在 php 数组 $_SERVER 中设置自定义服务器值。 例如 if($_SERVER['is_special']) { echo
什么相当于 codeigniter 中的 $_SERVER ? 最佳答案 $this->input->server() 更多信息请引用用户指南:Input 关于Codeigniter 和 $_SERV
这是指向当前文件执行的目录吗? 最佳答案 不,它指向您的网络服务器的根目录 - 您网站的最顶层文件夹。 如果你想要当前文件的目录,使用: 目录名(__FILE__); 关于php - $_SERVER
我真的很想使用以下问题的答案:How can I force users to access my page over HTTPS instead of HTTP? 但我一直认为全局 $_SERVER
我需要知道当我处理 $_SERVER 变量时我是否可以安全地使用普通字符串或者我必须使用 mb_* 字符串。 (UTF-8) 例如 $_SERVER['HTTP_HOST'] 可以包含多字节字符? 如
我遇到过以下三行代码: $_SERVER; $_ENV; $_REQUEST; 对我来说,这三行代码似乎什么也没做。它们不会导致任何错误。 我知道这三个全局变量是什么,就是不知道这三行代码是干什么的。
我是一名优秀的程序员,十分优秀!