- 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/
我刚刚安装了 WAMP,我可以访问本地主机并获取 phpinfo() 输出。 但是,虽然我可以看到 _SERVER['REQUEST_METHOD'] 设置为 GET,但我正在尝试使用以下 PHP:
我的代码中目前有 strtoupper($_SERVER['REQUEST_METHOD'])。 但是 strtoupper 调用有必要吗? $_SERVER['REQUEST_METHOD'] 是否
在我正在开发的 PHP 项目中,我有几个可以是 POST 或 GET 的请求。目前,我使用 $_SERVER[REQUEST_METHOD] 值来确定要使用哪个请求数组。我知道 $_REQUEST 值
所以,一段时间以来,我一直在使用以下方法检查我的帖子数据是否已设置。 if( ! empty( $_POST ) ) { } 但最近我看到很多帖子说上面是“hack”而下面是正确的“更好”方式。 if
我有一个包含 2 个表单的页面。这是为了使用 PHP/PDO 插入数据库。我面临的问题是,即使我没有按下提交按钮,插入页面上的 IF 语句也会产生错误。已尝试使用 $_POST isset/!==0
一直在对此进行一些挖掘,但是找不到信息 我正在尝试检查表单是否已提交以及它是 GET 还是 POST。所以基本上我使用: if($_SERVER['REQUEST_METHOD'] == 'GET')
我正在为我的本地开发站点使用 nginx + php5-fpm。在构建表单时,我遇到了一个非常奇怪的问题。 似乎 $_SERVER['REQUEST_METHOD'] 在我发布时有时会被误报为“GET
在实际使用 $_SERVER['REQUEST_METHOD'] 之前,我是否必须检查 $_SERVER 变量是否具有键 REQUEST_METHOD? 也就是说,总是检查数组变量中是否存在某个键是否
这个问题在这里已经有了答案: $_POST vs. $_SERVER['REQUEST_METHOD'] == 'POST' (11 个答案) 关闭 8 年前。 我在看一个关于PHP表单提交的视频,
我在这里搜索了大约十几个与以下内容相关的答案: if ($_SERVER['REQUEST_METHOD'] == 'POST') { } 但我仍然没有找到原因的答案。为什么。 如果我们已经设置了,为
为什么此行在我的实时服务器中返回 null? filter_input(INPUT_SERVER, 'REQUEST_METHOD'); 实时服务器是php5.5.9 我错过了什么吗? 我以为是用来替
我有以下代码,每当我尝试插入数据时,$content 都没有被插入,问题可能出在哪里?我正在使用功能测试输入来解决安全相关问题。 Article Published"; echo" View it N
对 php 有点陌生,阅读了一些人的代码,看到了这个: if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['.
我在 login.php 中得到了这段代码: login.php Log in: Username: Password: 我是一个 php 初学者,我正在尝试将数据发布
我遇到了最奇怪的问题,我不知道如何解决。我的表格第一行是: 但是当我回显 $_SERVER['REQUEST_METHOD'] 时,它会回显“GET”。我正在使用 CodeIgniter,所以我不知
我对此有点困惑。我希望这是我错过的非常明显的事情!我有一个非常简单的表格: 注意此页面位于 /page 并在以下 HTML 之后回显: 在 /page 上,我在文件的最顶部有这个: <
有人称我的 Snipplr 提交之一“垃圾”,因为我使用 if ($_SERVER['REQUEST_METHOD'] == 'POST') 而不是 if ($_POST) 检查请求方法对我来说似乎更
我的问题与this one 非常相似但我不明白为什么我的请求会是跨域的。这是我用 Firebug 得到的结果: 所有域都一样,我不明白为什么 Firefox 和 IE 有这种行为。 你可以测试here
" method="POST"> Admin Login 我在php上制作了method="POST"表单 if ($_SERVER['REQUEST_ME
我正在使用 C 处理一个 CGI 文件,该文件仅在请求方法为 POST 时才执行操作。 int main(void) { char *method_str = getenv("REQUE
我是一名优秀的程序员,十分优秀!