oscarricardosan / session
Small package for handling session vars.
1.0.2
2019-07-05 16:30 UTC
This package is auto-updated.
Last update: 2025-02-06 05:05:44 UTC
README
Agnostic php package.
Small package for handling session vars and flash vars.
It is an abstract class so it must be previously implemented by your own class in order to implement the verificateUserSession method.
Example:
use Oscarricardosan\_Session_\_Session_; class _MSession_ extends _Session_ { /** * @param bool $if_fails_close_session * @return bool */ public static function verificateUserSession($if_fails_close_session= true) { $token_user = self::getAttr('user_id'); $user_data= // Code-sql that the user obtains from the session data. if (password_verify($_POST['password'], $hash)) { self::setUserData($user_data); }else{ self::logout('/'); } } }
Example to write
//In normal php session_start(); $_SESSION["newsession"]=$value; $_SESSION["name"]= 'Juan'; //With _Session_ _MSession_::setAttr('newsession', $value); _MSession_::setAttr('name', 'Juan');
Example to read
//Normally session_start(); if(isset($_SESSION["name"])) echo $_SESSION["name"]; else echo 'Sin nombre'; $products= isset($_SESSION["products"]) && is_array($_SESSION["products"])?$_SESSION["products"]:[]; //With _Session_ echo _MSession_::getAttr('name', 'Sin nombre'); $products= _MSession_::getAttr('products', []);
Accessing the user's data
_MSession_::verificateUserSession(); print_r(_MSession_::userData());//Al user data echo "Hola "._MSession_::userData()['name']; // Attribute in user data
Control of flash messages and flash errors, when you call getFlashErrors or getFlashMessages the session variable is automatically deleted.
index_product.php <form action="store_product.php"> <input type="submit" value="Send"> </form> <div> Errores:<div> <ul style="color:darkgreen;"> <?php foreach(_MSession_::getFlashErrors as $error){ echo "<li>$error</li>"; } ?> </ul> <div> Mensajes:<div> <ul style="color:darkgreen;"> <?php foreach(_MSession_::getFlashMessages as $message){ echo "<li>$message</li>"; } ?> </ul> store_product.php <?php _MSession_::setFlashError('ID no encontrado'); _MSession_::setFlashMessage('Vuelve la proxima ;)'); //Go back, index_product.php header("Location: {$_SERVER['HTTP_REFERER']}"); ?>
Clean session
//Close session and redirect to specific page. _MSession_::logout('page_to_redirect.php'); //Clears the session but does not delete the flash variables _MSession_::destroy(false); //Destroy the session and delete the flash variables _MSession_::destroy(true);