<?php class Sessions{ private $SID = null; private function __clone(){} protected $savePath; protected $sessionName; if (!self::$instance) { self::$instance = new sessions(); } return self::$instance; } public function __construct() { ); } /*SESSION HANDLER*/ public function open($savePath, $sessionName) { $this->savePath = $savePath; $this->sessionName = $sessionName; return true; } public function close() { // your code if any return true; } public function read($id) { // your code return ''; } public function write($id, $data) { // your code return true; } public function destroy($id) { // your code return true; } public function gc($maxlifetime) { // your code return true; } /*END SESSION HANDLER*/ private function generateSID(){ } public function set($name, $val, $namespace = null){ if($namespace == null){ return $_SESSION[$name] = $val; } else{ return $_SESSION[$namespace][$name] = $val; } } public function get($name, $namespace = null){ if($namespace == null){ } else{ } } public function getAll($namespace = null){ if($namespace == null){ } else{ } } } ?>
Nie jest to jeszcze skończona klasa a już jest jeden poważny problem. Session handler gubi zmienne sesji. Zmienne są widoczne tylko na stronie na której są definiowane, po przeładowaniu już ich nie ma. Jak usunę session handlera to działa bez zarzutów. Wiecie może w czym tkwi problem?
PS. Szukałem na forum i znalazłem post w którym jest link do wpisu w manualu, lecz niestety już go nie ma