class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

PHP

PHP API

gzip, bzip2, rar
файловая система
файловый ввод/вывод
функции MySQL
сессии

Как сделать...

Справочник по PHP API

Сессии

В php сессии используются для сохранения каких-либо переменных между последовательными доступами к сайту. Это позволяет создавать более настраиваемые web-приложения.

Когда посетитель обращается к сайту, php автоматически (если session.auto_start равно 1) или при вызове session_start() проверяет, был ли послан уникальный идентификатор сессии с этим запросом. Если да, то сохраненное ранее окружение восстанавливается.

Специфичные для сессии переменные можно сохранить в массиве $_SESSION (в старых версиях $HTTP_SESSION_VARS), либо функцией session_register(). В последнем случае массив $_SESSION не изменяется.

Идентификатор сессии может передаваться:


<!-- Пример передачи ид сессии другой странице в ссылке -->
<a href="page.php?<?php echo SID?>">какая-то страница</a>

функции для сессий

настройка сессии в php.ini

пользовательская обработка событий сессии

PHP позволяет задать пользовательскую обработку событий сессии. Для этого в php.ini session.save_handler устанавливается в значение user. Далее определяются функции обработчики. Затем обработчики устанавливаются функцией session_set_save_handler.

Ниже приведен пример из оффициальной документации похожий на используемый по умолчанию обработчик. По желанию его можно расширить поддержкой БД.


function open ($save_path, $session_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 {
    return(""); // здесь нужно возвращать пустую строку
  }
}

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(fwrite($fp, $sess_data));
  } else {
    return(false);
  }

}

function destroy ($id) {
  global $sess_save_path, $sess_session_name;
       
  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
}

// нужно реализовать сборку мусора здесь 
function gc ($maxlifetime) {
  return true;
}

session_set_save_handler 
      ("open", "close", "read", 
       "write", "destroy", "gc");
session_start();

// ...

Рейтинг@Mail.ru