-4

Sample of one of my php page after login (adminview.php)

<?php

    session_start();

    if(!(isset($_SESSION['username'])))
    {
        header("Location:index.php");
    }
    else
    {
        include "NavigationBar/adminNav.php";
        }
    ?>
    <html>
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
            <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
            <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
            <script src="js/responsiveslides.min.js"></script>
            <link rel="stylesheet" type="text/css" href="css/SlideShow.css">
            <title>e-Moments</title>
        <link rel="shortcut icon" href="Image/titleIcon.png" />
        </head>
        <body background="Image/test.png">
            <div class="container">
                <div class="row">
                    <div class=" col-md-12 col-xs-12 col-sm-12 col-lg-12">
                        <div class="panel panel-default">
                            <div class="panel-body">
                                <ul class="rslides">
                                    <li><img src="Image/SlideShow.png" alt=""></li>
                                    <li><img src="Image/GuestBook.png" alt=""></li>
                                    <li><img src="Image/adminModule.png" alt=""></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                        <div class="col-md-3 col-sm-3 col-xs-6 col-lg-3">
                            <a href="profile.php" class="btn btn-default btn-sm"><br /><br /><br /><br />
                            <img class="img-responsive" src="Image/HomeProfile.png" /><br />profile<br /><br /><br /><br /><br /><br /></a>
                        </div>

                        <div class=" col-md-3 col-sm-3  col-xs-6 col-lg-3">
                            <a href="AdminRegister.php" class="btn btn-default btn-sm"><br /><br /><br /><br />
                        <img class="img-responsive" src="Image/HomeUsers.png" /><br />Account Status<br /><br /><br /><br /><br /><br /></a>
                        </div>

                        <div class="hidden-md hidden-sm hidden-lg">
                        &nbsp; &nbsp;
                        </div>

                                <div class=" col-md-3 col-sm-3 col-xs-6 col-lg-3">
                            <a href="GuestBook.php" class="btn btn-default btn-sm"><br /><br /><br /><br />
                    <img class="img-responsive" src="Image/HomeBook.png" /><br />Guest Book<br /><br /><br /><br /><br /><br /></a>
                        </div>


                        <div class=" col-md-3 col-sm-3 col-xs-6 col-lg-3">
                            <a href="dashboard.php" class="btn btn-default btn-sm"><br /><br /><br /><br />
                        <img class="img-responsive" src="Image/HomeDashboard.png" /><br />Dashboard<br /><br /><br /><br /><br /><br /></a>
                        </div>
                        </div>
                        <div class="row">
                        &nbsp;
                        </div>
            </div>
            </div>  
        </body>
</html> 
<?php


?>
Captain Obvlious
  • 19,754
  • 5
  • 44
  • 74
stewart
  • 11
  • 5
  • So have you set the session timeout at all? – Mark Baker Feb 03 '16 at 08:30
  • 3
    It has been already answered http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes – Martin Feb 03 '16 at 08:32
  • server-side is not like client-side where the code is active while the user may be idle, for server-side for example, you can set a timeout period when user first logs-in (and store it in DB for example) and on next same user interaction, check if current-time exceeds this timeout, if yes logout the user and redirect to login page – Nikos M. Feb 03 '16 at 08:32

1 Answers1

0

Here is your answer.

//on pageload
session_start();

$idletime=300;//after 300(5*60) seconds the user gets logged out

if (time()-$_SESSION['timestamp']>$idletime){
    session_destroy();
    session_unset();
}else{
    $_SESSION['timestamp']=time();
}

//on session creation
$_SESSION['timestamp']=time();

Hope it will help you :)

Ravi Hirani
  • 6,511
  • 1
  • 27
  • 42
  • Hi, i try using this code, but it's not logging out after a few seconds as i set it to 3 sec. i created a new php page for this set of code. And in every other page of my php , i include this line of code the include "lib/auto.php"; Any idea why? (: @Ravi Hirani – stewart Feb 05 '16 at 02:26
  • Alternatively, I try to write the given code in each php page, but everytime i click on the other php page it automatically logout even when i set the time to be 10 mins. @Ravi Hirani – stewart Feb 05 '16 at 02:39