2

我正在尝试在用户登录时重定向用户。

在我的网站中,您可以从不同的位置(在主菜单、某些页面等)登录,所以我希望在用户登录后,他将被重定向到他之前的页面。

我得到了该过程的长代码,但问题出在登录面板中。

这是导致问题的代码的一部分,例如,如果我有“ 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 脚本,主题标签不能作为参数值发送。我怎么能摆脱这个?

4

2 回答 2

1

您需要对encodeURICompoent插入到 URL 中的任何数据运行。

于 2013-08-02T10:45:23.790 回答
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请求。

于 2013-08-02T10:22:52.397 回答