如果单击链接,则不会发生任何事情,因为 URL 仅包含片段标识符#
。甚至GET
不会发出请求。
您通常使用这种链接来跳转到页面内的元素(例如<a href="#top">Top</a>
跳转到具有 ID 的元素top
)。这完全在浏览器中处理。
如果你只把片段标识符放在那里,什么都不会发生。如果链接应该执行一些 JavaScript 而实际上不应该链接到其他东西,这通常会被使用。
您正在 $_POST
服务器端测试阵列。但是,如果您通过表单发起POST
请求,则此数组仅包含元素。这意味着您需要创建一个带有提交按钮的表单,例如:
<form action="" method="POST">
<input type="submit" name="logout" value="Exit Group" />
</form>
name
属性开始起作用了,它将成为$_POST
数组中的键。但是在普通链接上分配它不会有任何效果。
您也可以使用链接执行此操作,但使用 GET 请求以这种方式:
<a id="exit" href="?logout=1">Exit Group</a>
<!-- ^-- parameter must be part of the URL, name has no effect -->
和
if(isset($_GET['logout'])){
//CODE TO BE EXECUTED
}
请注意,您必须在logout
此处传递参数。
看来您混淆了GET
请求POST
。如果你有一个表单,表单元素name
的s将作为参数传输到服务器。这意味着给定这种形式:
<form method="POST">
<input type="text" name="foo" value="" />
<input type="text" name="bar" value="" />
<input type="submit" name="send" value="Send" />
</form>
如果用户单击提交按钮,$_POST
服务器端的数组将具有键:
$_POST['foo']
$_POST['bar']
$_POST['send']
但是,这不适用于链接。单击链接将创建一个正常的GET
请求,在这里,参数必须是 URL 的一部分,附加在问号之后?
并用 & 分隔&
:
<a href="somePage.php?foo=1&bar=1&andMore=0"> Link </a>
将导致
$_GET['foo']
$_GET['bar']
$_GET['andMore']
您可能应该阅读有关HTTP 协议的内容。