当REQUEST_METHOD在PHP中使用GET时显示表单

时间:2017-03-25 22:44:28

标签: php forms

如何在获取方法时显示表单?我尝试过使用isset,但最终让自己更加困惑。我已经提出了以下代码,这似乎是最简单的方法,但由于某些原因它不起作用

<html>
<?php 
if ($_SERVER[ "REQUEST_METHOD"]=="GET") {

}else {
    die( 'Invalid Method.');
}

?>

<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <select name="state">
        <option value="AL">Alabama</option>
        <option value="AK">Alaska</option>
        <option value="AZ">Arizona</option>
        <option value="AR">Arkansas</option>
        <option value="CA">California</option>
        <option value="CO">Colorado</option>
        <option value="CT">Connecticut</option>
    </select>
    <input type="Submit" value="Submit">
  </form>
</body>
</html>

它只是打印&#34;无效的方法&#34;点击提交后。

*编辑:在原始代码中犯了一个错误。点击提交后出错。

2 个答案:

答案 0 :(得分:1)

您在浏览器中查看了自己的页面,这意味着您使用了GET方法。

  

$ _ SERVER [&#34; REQUEST_METHOD&#34;]

返回&#34; GET&#34;这与&#34; GET&#34;没有什么不同。和&#39;其他&#39;被解雇了。

答案 1 :(得分:0)

试试!==运算符。并且您不需要使用action属性avec,默认值为PHP_SELF:)

<?php 
if ($_SERVER[ "REQUEST_METHOD"] !== "GET") {
     exit('Invalid Method.');
}else {

}

?>
<html>
<body>
<form method="post" >
    <select name="state">
        <option value="AL">Alabama</option>
        <option value="AK">Alaska</option>
        <option value="AZ">Arizona</option>
        <option value="AR">Arkansas</option>
        <option value="CA">California</option>
        <option value="CO">Colorado</option>
        <option value="CT">Connecticut</option>
    </select>
    <input type="Submit" value="Submit">
  </form>
</body>
</html>