|
Follow @phpsnips |
This takes 3 functions to complete the inactive session task.
1. We need to check if the person is actually logged in using our isLogged function
2. We need the function to check the time the page loaded, and when the last page was loaded
3. We need a function to log the user out after inactivity.
It is reccomended that you place the 3 functions in the same file, and have this file
included on EVERY page that requires a login to view the page.
Function sessionX() MUST come after session_start()
<?php
# Start a session
session_start();
# Check if a user is logged in
function isLogged(){
if($_SESSION['logged']){ # When logged in this variable is set to TRUE
return TRUE;
}else{
return FALSE;
}
}
# Log a user Out
function logOut(){
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
}
# Session Logout after in activity
function sessionX(){
$logLength = 1800; # time in seconds :: 1800 = 30 minutes
$ctime = strtotime("now"); # Create a time from a string
# If no session time is created, create one
if(!isset($_SESSION['sessionX'])){
# create session time
$_SESSION['sessionX'] = $ctime;
}else{
# Check if they have exceded the time limit of inactivity
if(((strtotime("now") - $_SESSION['sessionX']) > $logLength) && isLogged()){
# If exceded the time, log the user out
logOut();
# Redirect to login page to log back in
header("Location: /login.php");
exit;
}else{
# If they have not exceded the time limit of inactivity, keep them logged in
$_SESSION['sessionX'] = $ctime;
}
}
}
# Run Session logout check
sessionX();
?>
|
Rate this Snippet: |
Suggested Difficulty Level: Novice
Current Score: 3.16
Total votes: 304
Total Views: 12863
Other top snippets by admin:
1. JPEG to ASCII Converter
2. Add (th, st, nd, rd, th) to the end of a number
3. Dynamic Page Content From Links
4. AJAX Quickie
5. Simple Image CAPTCHA
1. Shorten text and (4 of 1)
2. file-based simple guest (0 of 0)
3. adding an entry (0 of 0)
4. integer to currency (1.33 of 3)
5. Aggregate IP addresses (0 of 0)
6. file handling (0 of 0)
7. testing system with (0 of 0)
8. Make an php (1 of 1)
9. allow download in (5 of 1)
10. redirect in 3 (0 of 0)
11. live clock with (0 of 0)
12. visit counter (3.5 of 2)
13. contact form with (4 of 1)
14. show a specific (0 of 0)
15. The & sign (0 of 0)
16. static variable in (0 of 0)
17. multiplication table with (0 of 0)
18. function with multiplicationt (0 of 0)
19. php generated menu (0 of 0)
20. drawing a table (0 of 0)
21. embedded array (one (0 of 0)
22. checks the week (0 of 0)
23. put links on (4.5 of 2)
24. Directory Image Gallery (0 of 0)
25. TOS (4 of 1)
2011-06-02 11:26:47