<?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");
}
?>
I want my php to redirect to from main.php to log.php if the session is live. I want to achieve an effect where logged on users cannot access a page and once they try to do it via a url they get automatically redirected to a different page. Above are the attempts I did and did not work for me.
You need session_start
.
session_start();
if(!isset($_SESSION['username'])) {
header("Location: log.php");
exit;
}
I think that you miss the call to php session_start(). Try this:
<?php
session_start();
if (isset($_SESSION['username'])) { header('Location: log.php'); }
?>
And be sure that your use logged account.
although it's 4 years later,I solve this problem just now.
Please make sure all these matter: 1. All the pages have to set the below parameter in the beginning if (session_status() == PHP_SESSION_NONE) {session_start();}
Adding the session variable must use $_SESSION in order to set the session as globally
exit(); must be added after header("location: $URL ");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.