涉及$ _GET,$ _POST和重定向(header())的任务

时间:2012-08-27 16:02:35

标签: php redirect header get

这就是我所处的情况:

我目前有3页:

  • people.php ,这是一个页面,用户可以在其中选择要关注的用户以及他们点击跟随用户的用户。每个人都链接到follow.php,但变量用户名在链接中发布到不同的值,具体取决于按下哪个。即如果选择了anderson cooper,则触发的链接是follow.php?username = andersoncooper;

  • follow.php ,这是当用户选择他们想要关注的人时触发的页面,此页面会经过并跟随此人。此页面仅在用户登录时有效。页面获取变量用户名($username = $_GET['username']),值取决于所选的链接。接下来,将此用户名变量放入跟随用户的函数中。

  • Login.php ,这是一个允许用户在Twitter上登录并授权应用的页面。我已将代码放在follow.php的顶部,该代码表示​​如果用户未登录,请在此处发送。当login.php完成并且用户完成后,它们将被发送回follow.php。唯一的问题是不再定义变量用户名。我尝试在重定向到登录页面之前设置变量($username = $_GET['username']),如果用户没有登录但这不起作用。对于重定向,我使用这个:

if(empty($_SESSION['oauth_token'])){
    //not signed in
    die(header( 'Location: twitter_login.php' )) ;
}

我尝试使用没有骰子的脚本,它仍然无法正常工作。 follow.php代码的其余部分遵循此检查。我希望我能很好地解释我的问题。如果用户已经登录,该脚本将完美运行,因为login.php永远不会被调用,您永远不会离开follow.php。但是当你离开页面时,你无法获得['用户名']。任何人都知道解决方案是什么?谢谢!!

2 个答案:

答案 0 :(得分:0)

您需要将查询字符串附加到您的位置标题,例如

die(header("Location: mypage.php?username=".$_GET['username']));

答案 1 :(得分:0)

将用户名存储在_SESSION中并以此方式引用。