Cita:
Iniciado por Carxl
No sé si te refieres a que deseas guardar la sesión del usuario así cierre el navegador, ó que simplemente tienes duda de como se usan las sesiones.
Las sesiones simplemente se usan con $_SESSION y duran mientras el usuario esté activo en la página, y para eso, para que funcione no hay que guardar nada en ningún lado.
Saludos
Me refería a si era mejor manejar las sesiones contra una base de datos.
http://www.php.net/manual/en/functio...ve-handler.php
Ejemplo sacado de ahí.
Código PHP:
Ver original<?php
class SessionDB {
private $data=null;
private $session_id=null;
private $minutes_to_expire=3600; // TIME TO MAINTAIN DATA ON DB
public function __construct(){
global $SESSION;
if (isset($_COOKIE['session_id'])){ } else {
$sql = "INSERT INTO `tb_session_db` (`session_id`, `updated_on`) VALUES ('{$this->session_id}', NOW())";
}
$sql = "SELECT `value` FROM `tb_session_db` WHERE `session_id`='{$this->session_id}'";
$SESSION = $this->data;
}
private function expire(){
$date_to_delete = date("Y-m-d H:i:s", time()-60*$this->minutes_to_expire); $sql = "DELETE FROM `tb_session_db` WHERE `update_on` <= '$date_to_delete'";
}
public function __destruct(){
global $SESSION;
$sql = "UPDATE `tb_session_db` SET `value`='{$this->data}', `updated_on`=NOW() WHERE `session_id`='{$this->session_id}'";
$this->expire();
}
}
/*
TABLE STRUCTURE
CREATE TABLE IF NOT EXISTS `tb_session_db` (
`session_id` varchar(32) NOT NULL,
`value` blob,
`updated_on` datetime DEFAULT NULL,
PRIMARY KEY (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
*/
?>
With this file included, connected to MySQL database who has the table `tb_session_db` I can easy do that into my config file:
<?php
require_once('session_db.php');
define('MYSQL_HOST','mysql.example.com'); define('MYSQL_USER','.......'); define('MYSQL_PASS','.......'); define('MYSQL_BASE','.......');
$SESSION = null;
global $SESSION;
$session_db = new SessionDB();
?>
Muchas gracias de antemano!