我有一个登录页面,一旦用户成功登录,它会回显一个指向他们个人页面的链接。当该页面加载时,我希望它检查用户是否有访问权限,以便某人不会尝试在URL中输入www.mywebsite.com/bob.php。我尝试使用cookie发送用户信息,但我意识到在写入页面后无法使用cookie。有没有人知道一种既高效又相对简单的方法来实现这一点?谢谢
我有一个登录页面,一旦用户成功登录,它会回显一个指向他们个人页面的链接。当该页面加载时,我希望它检查用户是否有访问权限,以便某人不会尝试在URL中输入www.mywebsite.com/bob.php。我尝试使用cookie发送用户信息,但我意识到在写入页面后无法使用cookie。有没有人知道一种既高效又相对简单的方法来实现这一点?谢谢
用户登录后,将其id分配给一个会话变量:
<?php
session_start();
$_SESSION["userid"] = $userid;
?>
<?php
session_start();
if (isset($_SESSION["userid"])) {
//show page
}else{
echo "No rights";
}
?>
if ($_SESSION ['userid'] == $userid) { /*显示页面*/ }
;) - drudge确实,当输出已经发送到浏览器时,您无法设置cookie。一个有用的技巧是使用输出缓冲。基本上,您可以在代码开头调用ob_start()
,并在结尾处调用ob_end_flush()
。现在,您可以在代码中任何位置设置cookie(和任何HTML标头)。
<?php if ($_SESSION['logginInUserID'] == $profileUserID){ /* success */ }else{ header('Location: http://mysite.com/'); } ?>
- Brad Christie