







|
[ Forums >> Webmasters >> Les autres langages >> sessions stockées sur bdd ]
| > sessions stockées sur bdd |
[ Posté par sebgg ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 22-07-2009 à 19:58 | 9 messages ]
  1) je souhaite utiliser une gestion des sessions sur une bdd mysql, j'ai trouver un script. Dois-je le mettre dans chaque page php ?
script:
<?php
session_set_save_handler('_open',
'_close',
'_read',
'_write',
'_destroy',
'_clean');
function _open()
{
global $_sess_db;
$db_user = $_SERVER['DB_USER'];
$db_pass = $_SERVER['DB_PASS'];
$db_host = 'localhost';
if ($_sess_db = mysql_connect($db_host, $db_user, $db_pass))
{
return mysql_select_db('sessions', $_sess_db);
}
return FALSE;
}
function _close()
{
global $_sess_db;
return mysql_close($_sess_db);
}
function _read($id)
{
global $_sess_db;
$id = mysql_real_escape_string($id);
$sql = "SELECT data
FROM sessions
WHERE id = '$id'";
if ($result = mysql_query($sql, $_sess_db))
{
if (mysql_num_rows($result))
{
$record = mysql_fetch_assoc($result);
return $record['data'];
}
}
return '';
}
function _write($id, $data)
{
global $_sess_db;
$access = time();
$id = mysql_real_escape_string($id);
$access = mysql_real_escape_string($access);
$data = mysql_real_escape_string($data);
$sql = "REPLACE
INTO sessions
VALUES ('$id', '$access', '$data')";
return mysql_query($sql, $_sess_db);
}
function _destroy($id)
{
global $_sess_db;
$id = mysql_real_escape_string($id);
$sql = "DELETE
FROM sessions
WHERE id = '$id'";
return mysql_query($sql, $_sess_db);
}
function _clean($max)
{
global $_sess_db;
$old = time() - $max;
$old = mysql_real_escape_string($old);
$sql = "DELETE
FROM sessions
WHERE access < '$old'";
return mysql_query($sql, $_sess_db);
}
?>
[Message édité par sebgg le 22-07-2009 à 20:01]
 
|
[ Posté par sebgg ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 22-07-2009 à 20:06 | 9 messages ]
  2) dois-je modifier le scrip précédent par :
1er cas:
$db_user = 'matable';
$db_pass = 'monpassword';
$db_host = 'sql.free.fr';
ou 2ième cas:
$db_user = $_SERVER['matable'];
$db_pass = $_SERVER['monpassword'];
$db_host = 'sql.free.fr';
à quoi servent $_SERVER[] si 2ième cas ?
merci de votre aide, à+
|
|
Services email :
  Vous devez vous identifier pour profiter des services par email du forum.
|

|