这就是我所处的情况:
我目前有3页:
-
people.php,这是一个页面,用户可以在其中选择他们想要关注的用户,当他们点击用户时,他们会关注他们。每个人都链接到follow.php,但变量username会在链接中发布到不同的值,具体取决于按下的值。即如果选择了anderson-cooper,则触发的链接为follow.php?username=andersonoper;
-
follow.php,这是一个当用户选择他们想要关注的人时触发的页面,该页面遍历并跟随该人。此页面仅在用户登录时工作。该页面获取变量用户名(
$username = $_GET['username']
),值取决于所选链接。接下来,这个username变量被放入用户后面的函数中。 -
Login.php,这是一个允许用户登录twitter并授权应用程序的页面。我把代码放在follow.php的顶部,上面写着如果用户没有登录,就把它们发送到这里。当login.php和用户完成后,它们会被发送回follow.php。唯一的问题是不再定义变量username。如果用户没有登录,我尝试在重定向到登录页面之前设置变量(
$username = $_GET['username']
),但这不起作用。对于重定向,我使用这个:
if(empty($_SESSION['oauth_token'])){
//not signed in
die(header( 'Location: twitter_login.php' )) ;
}
我试着在没有骰子的情况下使用这个脚本,但它仍然不起作用。follow.php
代码的其余部分遵循此检查。我希望我能很好地解释我的问题。如果用户已经登录,因为login.php永远不会被调用,你也永远不会离开follow.php,所以脚本运行得很好。但当你离开页面时,你无法获取['username']。有人知道解决这个问题的办法吗?非常感谢。
您需要将查询字符串附加到您的位置标头,例如
die(header("Location: mypage.php?username=".$_GET['username']));
将用户名存储在_SESSION
中并以这种方式引用它。