我学到的是:一次只能使用HTTP POST或GET方法。我有以下代码:index.php
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
echo "Request Method is: ". $_SERVER['REQUEST_METHOD'] .'<br>';
echo "Get variable is: " . $_GET['getname'] . '<br>';
echo "Post variable is: " . $_POST['posttitle'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Testing Get or Post</title>
</head>
<body>
<form action="" method="POST">
<input type="text" name="posttitle" value="somepost"/>
<button type="submit">Submit</button>
</form>
</body>
</html>
我通过以下方式浏览表单:http://localhost/testing/index.php?getname=someget。我提交表单,表单数据通过HTTP POST方法发送。
现在我的问题是: 在这种情况下,HTTP方法是POST,并且GET变量$ _GET ['getname']应该不可用。但是,POST和GET变量都可用并打印。
答案 0 :(得分:2)
这只取决于PHP $_GET
和$_POST
的名称不佳。
$_GET
将包含来自请求的URL的查询字符串的数据。这与使用的请求方法完全无关。
PHP可能选择了这个名称,因为带有method="GET"
的HTML表单会将数据放入查询字符串中,但这不是创建查询字符串的唯一方法。