如果您单击该链接,则不会发生任何事情,因为该 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 请求。如果你有一个form,form 元素的names 将作为参数传输到服务器。这意味着给定这种形式:
<form method="POST">
<input type="text" name="foo" value="" />
<input type="text" name="bar" value="" />
<input type="submit" name="send" value="Send" />
</form>
如果用户点击提交按钮,服务器端的$_POST数组就会有key:
$_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 protocol。