4
<?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.

2
  • 1
    I think you forgot to use (or mention) session_start(); Commented Jan 3, 2014 at 23:20
  • 1
    Did you make sure to use session_start()? There will never be a session in any subsequent pages as long as session_start hasn't been declared. Use the presence of $_SESSION variables in combination with a previously declared session_start to take care of this properly. Commented Jan 3, 2014 at 23:21

3 Answers 3

5

You need session_start.

session_start();
if(!isset($_SESSION['username'])) {
    header("Location: log.php");
    exit;
}
Sign up to request clarification or add additional context in comments.

Comments

2

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.

Comments

0

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();}

  1. Adding the session variable must use $_SESSION in order to set the session as globally

  2. exit(); must be added after header("location: $URL ");

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.