Php 获取包含哈希后的查询字符串的完整url

Php 获取包含哈希后的查询字符串的完整url,php,url,hashtag,Php,Url,Hashtag,如何获取哈希标记后包含字符串参数的完整URL?我试着回应 $url = $_SERVER['REQUEST_URI']; echo $url; 哈希标记后面的字符串不会被读取。Pekka的评论应该是答案。哈希标记后的字符串参数不会发送到服务器,它仅用于浏览器 这意味着服务器端代码PHP(在您的情况下)没有此信息。客户端代码浏览器,javascript。。。是的 理想情况下 电影后面的部分?是服务器的信息。把你的一切 这里需要服务器 后面的部分是客户端的信息。把你的一切 客户需要在这里。这叫感谢

如何获取哈希标记后包含字符串参数的完整URL?我试着回应

$url = $_SERVER['REQUEST_URI'];
echo $url;

哈希标记后面的字符串不会被读取。

Pekka的评论应该是答案。哈希标记后的字符串参数不会发送到服务器,它仅用于浏览器

这意味着服务器端代码PHP(在您的情况下)没有此信息。客户端代码浏览器,javascript。。。是的

理想情况下

电影后面的部分?是服务器的信息。把你的一切 这里需要服务器 后面的部分是客户端的信息。把你的一切 客户需要在这里。这叫感谢。 从历史上看,最常用的方法是让浏览器快速滚动到页面上定义的定位点。如今,它更常用于为客户端保存状态信息


您可以让javascript将此信息发送到服务器,或者根据此信息执行不同的操作。AJAX是您的朋友。

哈希字符串(包括)永远不会传递给服务器,它只是浏览器的行为属性。但是$\u SERVER['REQUEST\u URI']变量将包含其余变量

如果您确实需要知道散列是什么,则必须使用document.location.hash JavaScript属性,该属性包含散列的内容,然后您可以将其插入表单中,或通过ajax请求将其发送到服务器。您可以传递完整的URL,包括,使用Javascript onload函数将URL发送到Ajax端点

您还可以在此处查看

使用urlencode和URLEDECODE函数

在这个简短的示例中,我将向您展示如何将哈希值传递给服务器,并使其重定向到哈希值

首先对链接按钮中的哈希值进行编码

<a href="mylink.php?redirect=link1<?= urlencode("#tab5") ?>">redirect to Link1 </a>

那个部分永远不会进入服务器,它是浏览器的专有部分。@Pekka웃 回答得很好。您可以使用js函数并将其传递给其他工作。这里有一个像你的问题一样的问题@佩卡웃 因此,即使我使用encodeURIComponent,浏览器仍然会忽略%23?+1之后的所有内容,这是一个很好的答案!收件箱在吗https://mail.google.com/mail/u/1/inbox 还有客户的信息吗?蒂姆:很好的发现,我会加上的!收件箱在吗https://mail.google.com/mail/u/0/inbox 一种无需页面刷新即可在页面之间导航的方法?它是在服务器或客户端web浏览器上实现的吗?蒂姆:你读过自己的链接吗片段标识符应该只在客户端使用,尽管脚本可以改变这一点。在过去,它经常使用锚在页面内导航。如今,它被重新用于类似的目的,例如动态加载内容的单页网站。
if ($_GET["redirect"] != null )
    {
        header("location: urldecode($_GET["redirect"]);
    }