PHP - 登录后重定向到上一页并包含获取数据

时间:2013-07-31 18:17:31

标签: php html redirect login get

好的,首先,对不起,如果这是重复的话。我已经搜索了大约20分钟的堆栈溢出和互联网,我似乎找不到解决我的问题。

我正在尝试做什么:

我在每个页面都有一个登录表单,其中隐藏的输入包含用户所在的当前页面 - 所以当他们登录时,它成功地重定向回到他们所在的页面。

E.g。用户在news.php上并且没有登录。他们登录,将他们带到login.php验证数据,然后重定向回news.php

这很棒!

问题:如果网址末尾有任何获取数据或锚标记,我似乎无法重定向回来。

E.g。用户在news.php?id = 4#comments并且没有登录。他们登录等等,但它重定向回news.php并忽略尾随数据。

这里有人有任何帮助吗?

我的代码:

<input type="hidden" value="<?php echo $_SERVER['HTTP_REFERER']; ?>" name="location"  />

$previousPage = $_POST['location'];
header("refresh: 1; url=".$previousPage);

显然我认为问题是$ _SERVER ['HTTP_REFERER']部分,但我不知道要替换它以使其包含尾随数据。

感谢所有帮助!

2 个答案:

答案 0 :(得分:1)

只需使用

print_r($_SERVER);

并选择最适合您需求的那个!

提示:结合HTTP_HOSTREQUEST_URI

哈希部分实际上永远不会发送到服务器:Can I read the hash portion of the URL on my server-side application (PHP, Ruby, Python, etc.)?

答案 1 :(得分:0)

感谢@Tobias,

这就是我最终的结果:

<?php echo basename($_SERVER['REQUEST_URI']); ?><script>document.write(window.location.hash); </script>

example.com/news.php?id=2#comments 这样的网页上会返回:

news.php?id=2#comments
相关问题