我正在尝试在用户登录时重定向用户。
在我的网站上,您可以从不同的地方登录(在主菜单上,在某些页面上等),所以我希望在用户登录后,他会重定向到他以前的页面。 / p>
我为该过程获得了一个很长的代码,但问题出在登录面板中。
这是导致问题的代码的一部分,例如,如果我有“ index.php#page = games ”,则在登录后页面用户必须重定向到:
我的代码
HTML
<input type="hidden" id="login_redirect" name="login_redirect" value="index.php#page=games" />
JAVASCRIPT / AJAX
var dataString = 'username=' + username + '&password=' + password + '&login_redirect=' + login_redirect;
//send informations
$("#message_login").load("php_login_code.php?"+dataString);
PHP
<?php
$login_redirect = $_GET['login_redirect'];
?>
<script type="text/javascript">
window.location = <?php echo $login_redirect; ?>; //redirect to game's page
location.reload();
</script>
问题是:我只收到此链接: index.php
我应该得到这个链接 index.php #page = games
修改
我认为问题来自Ajax脚本,hashtag不能作为参数值发送。我怎么能摆脱这个?
答案 0 :(得分:0)
index.php#page=games
URL中的哈希通常意味着锚定到某个标题,例如:
https://en.wikipedia.org/wiki/Java_(programming_language)#Automatic_memory_management
您应该做的只是删除所有#
,并使用查询字符串。更简单,更直接。
index.php?page=games
if(isset($_GET['page'])) {
$login_redirect = $_GET['page'];
}
如果您尝试从HTML DOM中获取值,则需要post
数据,而不是发送get
请求。
答案 1 :(得分:0)
您需要对插入到网址中的任何数据运行encodeURICompoent
。