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/08 20:19] – [Suppression de variables] jcheron | slam4:php:codeigniter:session [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Sessions CodeIgniter====== | ====== Sessions CodeIgniter====== | ||
| - | < | + | < |
| + | |||
| + | - [[slam4: | ||
| + | - [[slam4: | ||
| + | - [[slam4: | ||
| + | - Sessions CodeIgniter | ||
| + | - [[slam4: | ||
| + | - [[slam4: | ||
| + | - [[slam4: | ||
| + | - [[slam4: | ||
| * [[http:// | * [[http:// | ||
| Ligne 61: | Ligne 70: | ||
| ); | ); | ||
| - | $this-> | + | $this-> |
| </ | </ | ||
| 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, | ||
| + | </ | ||
| + | |||