Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam4:php:codeigniter:session [2012/12/14 16:32] – [Ajout et récupération de variables] jcheron | slam4:php:codeigniter:session [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
< | < | ||
+ | |||
+ | - [[slam4: | ||
+ | - [[slam4: | ||
+ | - [[slam4: | ||
+ | - Sessions CodeIgniter | ||
+ | - [[slam4: | ||
+ | - [[slam4: | ||
+ | - [[slam4: | ||
+ | - [[slam4: | ||
* [[http:// | * [[http:// | ||
Ligne 88: | Ligne 97: | ||
$this-> | $this-> | ||
</ | </ | ||
+ | |||
+ | ===== Sessions et objets métier ===== | ||
+ | Pour assurer la persistance des objet en session, il est parfois préférable de sur-définir la méthode **_sleep** de chacun d' | ||
+ | |||
+ | <sxh php; | ||
+ | /** | ||
+ | * Utilisateur | ||
+ | */ | ||
+ | class Utilisateur | ||
+ | { | ||
+ | ... | ||
+ | public function __sleep(){ | ||
+ | return array(' | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <WRAP important round 80%> | ||
+ | La limite de taille de la session codeIgniter étant de **4ko**, il peut être nécessaire pour dépasser cette limite d' | ||
+ | </ | ||
+ | |||
+ | ==== Utilisation de la base de données ==== | ||
+ | |||
+ | Dans le fichier config.php, modifier la ligne suivante : | ||
+ | |||
+ | <sxh php; | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | $config[' | ||
+ | </ | ||
+ | |||
+ | Créer la table nécéssaire dans votre BDD sur ce modèle : | ||
+ | <sxh sql> | ||
+ | CREATE TABLE IF NOT EXISTS | ||
+ | session_id varchar(40) DEFAULT ' | ||
+ | ip_address varchar(45) DEFAULT ' | ||
+ | user_agent varchar(120) NOT NULL, | ||
+ | last_activity int(10) unsigned DEFAULT 0 NOT NULL, | ||
+ | user_data text NOT NULL, | ||
+ | PRIMARY KEY (session_id), | ||
+ | KEY `last_activity_idx` (`last_activity`) | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Utilisation des sessions natives PHP ==== | ||
+ | |||
+ | Librairie phpSession : {{: | ||
+ | |||
+ | === Démarrage === | ||
+ | Soit dans autoload.php : | ||
+ | <sxh> | ||
+ | $autoload[' | ||
+ | </ | ||
+ | Soit dans un contrôleur : | ||
+ | <sxh php> | ||
+ | class UnControleur extends \CI_Controller{ | ||
+ | function __construct() | ||
+ | { | ||
+ | parent:: | ||
+ | $this-> | ||
+ | } | ||
+ | </ | ||
+ | <WRAP round important 80%> | ||
+ | Attention, en cas de sérialisation/ | ||
+ | il est nécessaire de charger les modèles concernés avant le démarrage de la session, la session ne doit dans ce cas démarrer ou reprendre que dans un contrôleur, | ||
+ | </ | ||
+ | |||