Декодирование данных сессии из строки
session_decode
Декодирование данных сессии из строки
boo! session_decode (string data)
Эта функция используется для извлечения данных сессии, если строка сериалпзированных переменных была сохранена вручную.
session_encode
Кодирование данных сессии в строку
string session_encode(void)
Возвращает строку, содержащую сериализированные данные текущей сессии.
tession_set_save_handler
Установление пользовательских процедур работы с сессиями
void session_set_save_handler (string open, string close, string Aead, string write, string destroy, string gc)
Этой функцией можно установить функции, которые будут выполнять следующие действия: открытие сессии, закрытие, чтение и запись данных сессии, уничтожение устаревших данных, вычисление момента, когда следует удалять устаревшие данные. Имена соответствующих функций указываются в этом порядке, как аргументы данной функции. Для того чтобы можно было использовать пользовательские функции, следует установить для параметра session.save_ handler в файле конфигурации значение user.
Можно реализовать механизм сохранения данных сессий в базе данных. Следующий пример, демонстрирующий сохранение данных в файлах (примерно таким образом действует РНР), может быть лег- / ко преобразован для хранения данных в БД.
<?Php
// инициализация сессии
function open ($save_path. $sesston_name)
{ global $sess_save_path. $sess_session_name:
// здесь может выполняться подключение
к БД $sess_save_path = $save_path;
$sess_session_name •= $session_name: return(TRUE).
}
// закрытие сессии function close()
{ return(TRUE): }
// загрузка данных сессии function
read ($id) { global $sess_save_path.
$sess_session_name
$sess_file =
"$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file. "r";)
{ $sess_data = fread
($fp. filesize($sess_file));
return($sess_data): } else {
returnC"'). }
// сохранение данных сессии
function write ($id. $sess_data) {
global $sess_save_path.
$sess_session_name:
$sess_file = "$sess_save_path/sess_$id":
if ($fp = @fopen($sess_file. "w"))
{ return (fwnte($fp, $sess_data));
} else { return(FALSE): }
} // уничтожение устаревших данных
сессии function destroy (Sid) {
global $sess_save_path.
$sess_session_name:
$sess_file = "$sess_save_path/sess_$id";
' return(@unlink($sess_file)); }
// здесь должны проверяться данные
сессии на истечение времени хранения
function gc (Smaxlifetime) {
return TRUE. }
session_set_save_handler
("open", "close", "read", "write",
"destroy", "gc"); session_start():
// далее следует обычная процедура
работы с сессиями ?>
session_cache_limiter
Определение ограничения кэширования
string session_cachejimiter ([string cachejimiter])
Когда посылаются заголовки HTTP, в них можно указать, разрешено ли кэширование полученных данных. В HTTP допустимы следующие значения: nocache (по умолчанию), private (относительное ограничение кэширования) и public (отсутствие ограничений). При запуске сценария ограничение кэширования устанавливается согласно значению параметра конфигурации session.cache_limiter.
Функция возвращает текущее ограничение кэширования, и если указан аргумент cachejli miter, то устанавливает новое (это необходимо делать до запуска сессии).
<?php
session_cache_himter( 'private');
session_start (): ?>
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий