“?”之间的关系和GET方法?

时间:2017-08-21 13:01:47

标签: php post get

我想知道问号,问号后面的变量(本例中为“show”)与PHP中传递给GET方法的方式之间的关系。另外,为什么我们不使用POST而不是GET?

<?php 

    if (isset($_GET['show'])
       echo $_GET['show'];

?>
<input type="submit" onClick="window.location='index.php?
show=include.inc.php'">

哦,我正在处理的文件是index.php,点击后会显示include.inc.php的内容。

请帮忙。对不起任何愚蠢的问题。

3 个答案:

答案 0 :(得分:3)

问号表示有一个变量可供使用!

$_GET函数的工作方式是通过URL本身传递变量!在这种情况下,它就像竖起一个标语,上面写着“嘿,show等于include.inc.php”。

$_POST做同样的事情,但更谨慎。它不是通过URL传递,而是创建一个传递到接收器的小包,类似于邮政系统。

答案 1 :(得分:1)

  

我想知道问号之间的关系,问号后面的变量(在这种情况下显示&#39;)和它在PHP中传递给GET方法的方式之间的关系。

问号表示URL中查询字符串的开头。

由于没有请求正文,因此URL是将数据放入HTTP GET请求的唯一方便位置。默认情况下,HTML表单在提交时会触发GET请求并在查询字符串中对表单内容进行编码。

PHP将查询字符串中的数据放入$_GET。无论HTTP请求方法实际是什么,它都会这样做。这是一个命名不佳的变量名称($_QUERY会更好)。

  

为什么我们不使用POST而不是GET?

您无法添加书签或链接到POST请求。

发出POST请求后刷新页面将提示浏览器询问用户是否确实要重新提交数据。

简而言之:POST旨在发出更改服务器上数据的请求(通常不需要重复)。 GET旨在发出仅从服务器获取数据的请求(因此可重复)。

答案 2 :(得分:0)

?问号后面的代码是HTTP请求中发送给服务器的代码。 (格式为:http://...URL...?key_1=value_1&key_2=value_2

onClick="..."代码是用户在浏览器中单击该按钮时执行的javascript代码。

window.location = ...是javascript代码,用于强制浏览器将网址更改为分配的内容。

您可以使用POST代替GET发送到服务器的数据不会被浏览器中的用户轻易看到,它不会成为URL的一部分。例如。用户可以使用GET标记URL,但不能使用POST数据标记。