In PHP erstellen wir Sitzungen für den angemeldeten Benutzer und machen diesen Benutzer online, bis sich der Benutzer von dieser Sitzung abmeldet. Dies kann durch Klicken auf die Abmeldeschaltfläche oder durch Zerstören dieser Sitzung nach einer festgelegten Zeit erfolgen. 

Standardmäßig beträgt die Ablaufzeit jeder einzelnen erstellten Sitzung 1440 Sekunden, dh (24*60) dh 24 Minuten. Aber in einigen Fällen müssen wir die Standardzeit entsprechend ändern.

Wir können das auf 2 Arten tun.

1. Wir können es in der php.ini -Datei ändern und die Konfiguration ändern, aber das wird die Standardzeit für alle Sites ändern, die auf diesem Server arbeiten, und das wird ein Hindernis für alle anderen Sites sein. Daher ist die zweite Option vorzuziehen .

2. Wir können die Zerstörungszeit der Sitzung logisch ändern. Wir nehmen die Zeit der Erstellung der Sitzung, indem wir die aktuelle Systemzeit berechnen, und wenn der Benutzer zu verschiedenen Seiten des Skripts blättert, prüfen wir die Ablaufzeit, dh sie wird ausdrücklich als Sitzungsablauf deklariert.

Dateistruktur:

index.php: Wenn Sie falsche Anmeldeinformationen eingeben, wird ein Fehler ausgegeben. Wenn Sie die richtigen Anmeldeinformationen eingeben, werden Sie zu „ HomePage.php“ weitergeleitet und die Sitzung nach 1 Minute zerstört. Der Entwickler kann die Zeit entsprechend ändern.

PHP

<?php
   
    session_start();
   
    if(@$_POST['submit']) {
        $username = $_POST['email'];
        $password = $_POST['pwd'];
   
        if($username =="GFG@gmail.com" && $password=="gfg123") {
            $_SESSION['user'] = $username;
  
            // Taking current system Time
            $_SESSION['start'] = time(); 
  
            // Destroying session after 1 minute
            $_SESSION['expire'] = $_SESSION['start'] + (1 * 10) ; 
               
            header('Location: HomePage.php');
        }
        else {
            $err= "<font color='red'>Invalid user login </font>";
        }
    }
?>
  
<html>
  
<head>
    <style>
        h2 {
            text-align: center;
        }
    </style>
</head>
  
<body>
    <h2 style="color:green">GeeksforGeeks</h2>
    <form method="post">
  
        <table align="center">
            <tr>
                <td>
                    <?php echo @$err;?>
                </td>
            </tr>
            <tr>
                <td>Username </td>
                <td><input type="email" name="email" 
                    placeholder="GFG@gmail.com" required>
                </td>
            </tr>
            <tr>
                <td>Password</td>
                <td><input type="password" name="pwd" 
                    placeholder="gfg123" required>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <input type="submit" 
                        value="Sign In" name="submit">
                </td>
            </tr>
        </table>
    </form>
</body>
  
</html>

HomePage.php

<?php
   
    session_start();
   
    if(!isset($_SESSION['user'])) {
        echo "<p align='center'>Want to login again";
        echo "<a href='index.php'>Click Here to Login</a></p>";
    }
    else {
        $now = time();
      
        if($now > $_SESSION['expire']) {
            session_destroy();
            echo "<p align='center'>Session has been destoryed!!";
            header("Location: index.php");  
        }
        else { 
?>
<html>
  
<head>
    <meta http-equiv="refresh" content="10">
</head>
  
<body>
    <p>
        Welcome
        <?php echo $_SESSION['user']; ?>
  
        <span style="float:right">
            <a href='logout.php'>LogOut</a></span>
  
        <p style="padding-top: 20px; 
            background:#CCCCCC;
            height: 400px; text-align: center">
            <span style="color:red; text-align:center">
                Your Session Will destroy after 1 minute
            </span>
            <br /><br />
        </p>
    </p>
    <?php
    }
}
  
?>
</body>
  
</html>

logout.php

<?php
  
session_start();
  
session_destroy();
  
header('location:index.php');
  
?>

Ausgabe:

Sitzung zerstören