Ver Mensaje Individual
  #9 (permalink)  
Antiguo 12/02/2010, 01:22
balder
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: sesiones con session_mysl.php

<?
$SESS_DBHOST = "xxx"; /* database server hostname */
$SESS_DBNAME = "xxx"; /* database name */
$SESS_DBUSER = "xxx"; /* database user */
$SESS_DBPASS = "xxx"; /* database password */

$SESS_DBH = "";
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");

function sess_open($save_path, $session_name) {
global $SESS_DBHOST, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS, $SESS_DBH;

if (! $SESS_DBH = mysql_connect($SESS_DBHOST, $SESS_DBUSER, $SESS_DBPASS)) {
echo "<li>Can't connect to $SESS_DBHOST as $SESS_DBUSER";
echo "<li>MySQL Error: ", mysql_error();
die;
}

if (! mysql_select_db($SESS_DBNAME, $SESS_DBH)) {
echo "<li>Unable to select database $SESS_DBNAME";
die;
}

return true;
}

function sess_close() {
return true;
}

function sess_read($key) {
global $SESS_DBH, $SESS_LIFE;

$qry = "SELECT value FROM wip_ses_lis WHERE sesskey = '$key'";
$qid = mysql_query($qry, $SESS_DBH);

$ret = mysql_fetch_row($qid);
mysql_free_result($qid);

if (list($value) = $ret) {
$ret = $value;
} else {
$ret = '';
}

return $ret;
}

function sess_write($key, $val) {
global $SESS_DBH, $SESS_LIFE;

$expiry = time() + $SESS_LIFE;

$value = addslashes($val);

$qry = "REPLACE INTO wip_ses_lis (sesskey, expiry, value) VALUES ('$key', $expiry, '$value')";
$success = mysql_query($qry, $SESS_DBH);

return $success;
}

function sess_destroy($key) {
global $SESS_DBH;

$qry = "DELETE FROM wip_ses_lis WHERE sesskey = '$key'";
$success = mysql_query($qry, $SESS_DBH);
return $success;
}

function sess_gc($maxlifetime) {
global $SESS_DBH;

# disabling session expiration
return 0;
}

session_set_save_handler(
"sess_open",
"sess_close",
"sess_read",
"sess_write",
"sess_destroy",
"sess_gc");

?>