Php 如何在#之后获取url中元素的值?

Php 如何在#之后获取url中元素的值?,php,wordpress,Php,Wordpress,我写 < ? php 如果(isset($_请求['id'])){ echo$_请求['id'] }?> 单击 但是我没有得到id的值。。如何获取它?您不能用php实现这一点,因为哈希后的值无法发送到服务器。您可以使用js将其发送到服务器,如: var hash = window.location.hash; $.get("get_hash.php?hash=" + hash, function(response) { // handle response }); 在get_has

我写 < ? php

如果(isset($_请求['id'])){

echo$_请求['id']

}?>

单击


但是我没有得到id的值。。如何获取它?

您不能用php实现这一点,因为哈希后的值无法发送到服务器。您可以使用js将其发送到服务器,如:

var hash = window.location.hash;

$.get("get_hash.php?hash=" + hash, function(response) {
    // handle response
});
get_hash.php
中:

$hash = $_GET['hash']; //#id=4
$remove_hash = substring($hash, 1, strlen($hash) - 1); //id=4
$id_arr = explode("=", $param_arr[1]); // 0=> id, 1=> 4
echo "id=" . $id_arr[1]; // 4

我不认为您可以这样做,因为
#
之后的字符串被浏览器解释为锚定名称,因此不会传递给服务器。

尝试此操作以获取最后一个参数的值

$url = "localhost/gft/wp-admin/admin.php?page=abc-yu#id=4";

$last = end(explode("=",$url));

echo $last;

我写了一些错误,注意:未定义的索引:第3行的H:\xampp\htdocs\upload\hi.php中的页面致命错误:第3行的H:\xampp\htdocs\upload\hi.php中调用未定义的函数eplode()4@Harry,您无法在服务器端获取哈希值,您需要使用javascript在哈希后发送值。我给你举了一个简单的例子