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