How To Tell If a Session Is New

Q

How To Tell If a Session Is New? - PHP Script Tips - Understanding and Using Sessions

✍: FYIcenter.com

A

There is not direct way to tell if a session is new or old. But you can design your site to have a required session value in all sessions. Then you can check the existence of this value in a session to determine if it is a new session by isset($_SESSION['name']).

Let's say you decided to have a required session value called "Status" with two possible values: "Guest" and "Registered". The landing script of your site should look like:

<?php
  session_start();
  if (!isset($_SESSION['Status'])) {
    $_SESSION["Status"] = "Guest";
    print("<html><pre>");
    print("Welcome to FYICenter.com!\n");
    print("  <a href=login.php>Login</a>\n");
    print("  <a href=guest_home.php>Stay as a guest</a>\n");
    print("</pre></html>\n");
  } else {
    if ($_SESSION["Status"] == "Guest") {
      header( 'Location: http://localhost/guest_home.php');
    } else if ($_SESSION["Status"] == "Registered") {
      header( 'Location: http://localhost/home.php');
    }
  }
?>

2007-04-17, 5127👍, 0💬