1. Go to this page and download the library: Download timefrontiers/php-session library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
timefrontiers / php-session example snippets
use TimeFrontiers\Session;
use TimeFrontiers\AccessRank;
// Start session
$session = new Session();
// Check if logged in
if (!$session->isLoggedIn()) {
// Show login form
}
// Access user info
echo $session->id(); // e.g. 1
echo $session->name; // uniqueid e.g. "01234567890"
echo $session->access_rank(); // 4 (MODERATOR)
echo $session->access_group(); // AccessGroup::MODERATOR
// Full user object
$user = $session->user();
echo $user->surname;
// Geolocation
$loc = $session->location();
echo $loc?->country;
// User object from your database — must have 'id' and 'uniqueid'
$user = (object)[
'id' => 123,
'uniqueid' => '01234567890',
'name' => 'John',
'surname' => 'Doe',
'access_group' => AccessGroup::MODERATOR,
'access_rank' => AccessRank::MODERATOR,
];
// Login with 30-minute session (default)
$session->login($user);
// Custom session lifetime (2 hours)
$session->login($user, session_lifetime: 7200);
$session->logout();
if ($session->isLoggedIn()) {
$userId = $session->getUserId(); // or $session->id()
$name = $session->name; // uniqueid of logged-in user
$user = $session->user(); // full user object
}
use TimeFrontiers\AccessRank;
// Check rank
if ($session->hasRank(AccessRank::MODERATOR)) {
// Can moderate
}
// Check group
if ($session->inGroup(AccessGroup::ADMIN)) {
// Is admin
}
// Convenience methods
if ($session->isStaff()) { } // MODERATOR or higher
if ($session->isTechnical()) { } // DEVELOPER or higher
if ($session->isAdmin()) { } // ADMIN or higher
// Via getters
if ($session->access_rank() >= AccessRank::DEVELOPER->value) {
// Show debug info
}
// In your form
$token = $session->generateCSRFToken('contact_form');
if (!$session->validateCSRFToken('contact_form', $_POST['_csrf_token'])) {
die('Invalid CSRF token');
}
// Store data on the user object
$session->set('theme', 'dark');
// Retrieve
$theme = $session->get('theme', 'light'); // Default: 'light'
// Check existence
if ($session->has('theme')) { }
// Remove
$session->remove('theme');
// Get all user object properties as array
$all = $session->all();
// Set flash message
$session->flash('success', 'Profile updated!');
// Redirect...
// Get and remove flash message
if ($session->hasFlash('success')) {
echo $session->getFlash('success');
}
// Get expiration timestamp
$expires = $session->getExpiry();
// Check if expired
if ($session->isExpired()) {
// Re-authenticate
}
// Extend session by 30 minutes
$session->extendExpiry(1800);
// Refresh location from IP
$session->refreshLocation();
// Access location data
$loc = $session->location();
if ($loc) {
echo $loc->country; // "United States"
echo $loc->country_code; // "US"
echo $loc->city; // "San Francisco"
echo $loc->currency_code; // "USD"
}
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$logger = new Logger('session');
$logger->pushHandler(new StreamHandler('session.log'));
$session = new Session($logger);
use TimeFrontiers\InstanceError;
$session->login($invalidUser);
if ($session->hasErrors()) {
$extractor = new InstanceError($session);
$errors = $extractor->get('login');
foreach ($errors as $err) {
echo $err[2]; // Error message
}
}
// Clear errors
Session::clearErrors();
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.