我想知道问号,问号后面的变量(本例中为“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的内容。
请帮忙。对不起任何愚蠢的问题。
答案 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数据标记。