【问题标题】:$_SERVER["REQUEST_METHOD"] == "POST" giving error$_SERVER["REQUEST_METHOD"] == "POST" 给出错误
【发布时间】:2017-05-08 18:18:01
【问题描述】:

我对 php 很陌生,但我以前对 asp.net 有过了解。 我通过https://www.w3schools.com阅读并尝试了很多 问题在于张贴表格并将它们作为电子邮件发送。 因此,作为第一步,我尝试了以下链接中的以下代码:https://www.w3schools.com/php/php_superglobals.asp

   <html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="fname">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

我将它复制到 phpDesigner8 中,但是当我按下运行时出现以下错误:注意:未定义索引:第 10 行 c:\Users\User\AppData\Local\Temp\Untitled 1 中的 REQUEST_METHOD

谁能帮我解释一下有什么问题? 非常感谢您!

更新版本:

<html>
<body>

<form method="post" action="">
  Name: <input type="text" name="fname">

  <input type="submit">
</form>

<?php



if(isset($_POST['fname'])) {
    // collect value of input field
    $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}


?>

现在没有更多错误,但没有任何内容通过 echo 输出到屏幕

【问题讨论】:

  • 为什么要检查请求方法?您可以简单地检查该字段本身是否已发布,例如:if(isset($_POST['fname'])) btw,检查此stackoverflow.com/questions/12754388/…
  • 这消除了错误,现在我按下提交时无法显示此页面
  • 好的,这是由操作引起的,删除了这个
  • 现在我无法在屏幕上得到任何回显输出。
  • 你能更新你的代码吗?

标签: php


【解决方案1】:

试试这个:

$var = $GLOBALS["_SERVER"];
print_r($var);

来自on stackoverflow的回答,

$request_method = strtoupper(getenv('REQUEST_METHOD'));
$http_methods = array('GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS');

    if (in_array($request_method, $http_methods)) {
    //this would only allow the above methods.
    if ($request_method == 'POST') {
        //proceed
       $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
    }
} else {
    die('invalid request');
}

【讨论】:

  • 在这个层面上我理解起来有点复杂......我可以请你有更详细的解释吗?
  • 给我一分钟。我将添加 cmets
  • 它并没有真正帮助:/
猜你喜欢
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-21
相关资源
最近更新 更多