<?php
1.
if (isset($_SESSION['username'])) {
header('Location: log.php');
}
2.
if (session_id() != '') {
header('Location: log.php');
}
3.
if(isset($_SESSION['username']))
{
header("Location: log.php");
exit;
}
4.
if (session_status() != PHP_SESSION_NONE) {
header("Location: log.php");
}
?>
如果会话有效,我希望我的php重定向到main.php到log.php。我希望实现登录用户无法访问页面的效果,一旦他们尝试通过URL进行操作,他们就会自动重定向到不同的页面。 以上是我所做的尝试,并没有为我工作。
答案 0 :(得分:5)
您需要session_start
。
session_start();
if(!isset($_SESSION['username'])) {
header("Location: log.php");
exit;
}
答案 1 :(得分:2)
我认为你错过了对php session_start()的调用。 试试这个:
<?php
session_start();
if (isset($_SESSION['username'])) { header('Location: log.php'); }
?>
并确保您使用记录帐户。
答案 2 :(得分:0)
虽然已经过了四年,但我还是解决了这个问题。
请确保所有这些事项: 1.所有页面必须在开始时设置以下参数 if(session_status()== PHP_SESSION_NONE){session_start();}
添加会话变量必须使用$ _SESSION才能将会话设置为全局
exit();必须在header(“ location:$ URL”);