Гравицапа
elbirret elcno
Некорректная работа session_set_save_handler() в php 4.3.3 (
Собственно,
заданы функции хранения сессии в БД (мускуль).
так вот в версии 4.3.3 функция s_write почему-то получает "не всю" сессию(имеется в виду $sVal), то есть часть сессии теряется.
В качестве сессионных данных - многомерные ассоц. массивы.
В версии 4.3.10 всё пучком. Необходмо сделать работоспособным для всех 4.х и выше.
Что посоветуете?
Собственно,
заданы функции хранения сессии в БД (мускуль).
PHP:
//................................
function s_write( $sKey, $sVal )
{
$sVal = addslashes( $sVal );
$users = $_SESSION['users'];
global $db_type;
$query = "UPDATE tblSessions SET sdata = '$sVal', lastupdate = " . time();
if($db_type=='mysql'){
$query .= ", user = '" . $users . "' WHERE id = '$sKey'";
}else{
$query .= ", \"user\" = '" . $users . "' WHERE id = '$sKey'";
}
session_log("s_write: $query");
db_query($query);
return True;
}
session_set_save_handler("s_open", "s_close", "s_read", "s_write", "s_destroy", "s_gc");
//..............
В качестве сессионных данных - многомерные ассоц. массивы.
В версии 4.3.10 всё пучком. Необходмо сделать работоспособным для всех 4.х и выше.
Что посоветуете?