PHP Sessions: Complete Guide with Examples

Introduction

When building web applications, it is often necessary to store user information as they navigate different pages of a website.

PHP sessions are commonly used for login systems, shopping carts, and user preferences. When a session is created, the server generates a unique session ID for the user. This session ID is stored in the browser and used to identify the user on subsequent requests.

What is PHP Sessions?

A PHP session is a way to store user information on the server so that it can be accessed across multiple pages of a website.

When a session starts, PHP creates a unique session ID and stores it in the user’s browser, usually as a cookie. The actual session data is stored on the server.

For example, when a user logs into a website, the system can store the user’s ID in a session variable.

Example session variable:


$_SESSION["username"] = "John";

Note: This variable can be accessed on different pages as long as the session remains active.

📖
Sessions continue until:
  • The user closes the browser
  • The session expires
  • The session is manually destroyed

Why It Is Used

PHP sessions are widely used in web development for several reasons.

1. User Authentication

Sessions are commonly used to track logged-in users.

2. Shopping Cart

Online stores store selected products in sessions before checkout.

3. User Preferences

Applications can store user settings such as themes or language.

4. Temporary Data Storage

Sessions allow developers to store temporary data during user interactions.

5. Secure Data Handling

Session data is stored on the server, making it more secure than client-side storage.

Syntax

To use sessions in PHP, the session must first be started using the session_start() function.

Basic syntax:


session_start();

Setting a session variable:


$_SESSION["username"] = "John";

Accessing a session variable:


echo $_SESSION["username"];

Destroying a session:


session_destroy();

Example

Below is a simple example demonstrating how sessions work.


session_start();
$_SESSION["user"] = "Admin";
echo "Session variable is set.";

Accessing the session variable on another page:


session_start();
echo "Welcome " . $_SESSION["user"];

Explanation:

  1. The session is started.
  2. A session variable is created.
  3. The variable can be accessed on other pages.

Real-Life Example

A common real-life example of PHP sessions is a login system.

Process:

  1. User enters login credentials.
  2. The server verifies the credentials.
  3. A session variable is created.

Example:


$_SESSION["user_id"] = 101;

Now every page can check if the session exists:


if(isset($_SESSION["user_id"])) {
  echo "User is logged in";
}

This allows the website to maintain login status.

Common Mistakes

1. Not Starting the Session

Many beginners forget to call session_start() before using session variables.

2. Output Before Session Start

Sessions must be started before any HTML output.

3. Not Destroying Sessions

Sessions should be destroyed during logout.

4. Storing Too Much Data

Sessions should store only necessary data.

5. Not Checking Session Existence

Developers should check if session variables exist before using them.

Conclusion

PHP sessions are an essential feature for managing user data across multiple pages in web applications. They allow developers to maintain user state, manage login sessions, and store temporary information during browsing sessions.

Understanding PHP sessions is important for building secure and dynamic web applications such as login systems, shopping carts, and personalized user experiences.

Related PHP Tutorials