Custom session handler - hiba?
Segítsetek légy szíves mert nem értem a dolgot. Én azt hittem, hogy a custom session handler write metódusa ua. azt ez eredményt adja, mint a serialize($_SESSION). De nem... ez normális? Ha igen miért? Vagy csak én vagyok a béna?!
Teszt kód:
■ Teszt kód:
- <?php
- class SessionSaveHandler {
- protected $savePath;
- protected $sessionName;
- public function __construct() {
- session_set_save_handler(
- array($this, "open"),
- array($this, "close"),
- array($this, "read"),
- array($this, "write"),
- array($this, "destroy"),
- array($this, "gc")
- );
- }
- public function open($savePath, $sessionName) {
- $this->savePath = $savePath;
- $this->sessionName = $sessionName;
- return true;
- }
- public function close() { return true; }
- public function read($id) {}
- public function write($id, $data) { echo "<b>write function</b>: ".$data; }
- public function destroy($id) {}
- public function gc($maxlifetime) {}
- }
- new SessionSaveHandler();
- session_start();
- $_SESSION["string"] = "ok";
- $_SESSION["number"] = 100;
- echo "<b>serialized: </b>".serialize($_SESSION)."<br>";
- ?>
Igen, normális
session_data
The encoded session data. This data is the result of the PHP internally encoding the $_SESSION superglobal to a serialized string and passing it as this parameter. Please note sessions use an alternative serialization method.
Köszi az infót, segített!
Ebben csak az a siralmas,
Nyílt forráskódú
Lehet, de nekem erre nincsen
C
hát remélem soha :D haverom a
Pedig szerethető nyelv :)
Ez is olyan, mint a nők,
Eredetileg írtam egy második
:D :D :D
Namost önmagában szigorúan
Dekódolást se muszáj saját magad megírnod, a session_decode() része a session libnek, bár roppant bosszantó módon a $_SESSION superglobal -ba rakosgatja be a dekódolt adatokat ahelyett, hogy simán visszaadná. php.net kommentek között található pár tisztán php implementáció (személy szerint nem volt még szükségem erre, nemtudom működnek-e).
Tisztában vagyok a
Már megoldották a PHP-ban