[PHP] CodeIgniter, session et Ajax
juillet 19, 2013
Si vous utilisez CodeIgniter et les sessions (en BDD), il vous ai peut être déjà arrivé de perdre les infos en faisant une requête Ajax. Et bien c’est parceque lors de cette requête la table session est mise à jour, mais le cookie pas modifiée.
Voilà la solution
Dans application/config/constant.php rajoutez :
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); |
Dans application/libraries/ créer MY_Session.php et rajoutez :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class MY_Session extends CI_Session { /** * Update an existing session * * @access public * @return void */ function sess_update() { // skip the session update if this is an AJAX call! if ( !IS_AJAX ) { parent::sess_update(); } } } |
Et le problème est résolu
Catégorie(s): Développement, Tutorial, Web | Comments (0)