Raven280438
Erfahrenes Mitglied
Hi,
da ich nicht mit der PHP-Session arbeiten will, speichere ich Variablen in einer MySQL-Datenbank. Dazu "missbrauche" ich die $_SESSION - Variable.
Zu Beginn des Skripts werden die Variablen aus der Datenbank ausgelesen, und am Ende werden sie wieder in die Datenbank gespeichert. Dazu erstelle ich einen String. (Key1|Value1|Key2|Value2|... )
Das funktioniert auch wunderbar. Aber wie kann ich jetzt ein Array damit speichern? Hat jemand ne Idee?
Auslesen der Variablen:
Speichern in der Datenbank:
(Die Funktion abfrage() sendet einfach ein Query und gibt das Ergebnis zurück)
Gruß
da ich nicht mit der PHP-Session arbeiten will, speichere ich Variablen in einer MySQL-Datenbank. Dazu "missbrauche" ich die $_SESSION - Variable.
Zu Beginn des Skripts werden die Variablen aus der Datenbank ausgelesen, und am Ende werden sie wieder in die Datenbank gespeichert. Dazu erstelle ich einen String. (Key1|Value1|Key2|Value2|... )
Das funktioniert auch wunderbar. Aber wie kann ich jetzt ein Array damit speichern? Hat jemand ne Idee?
Auslesen der Variablen:
PHP:
if ($session_id) {
$get_vars = abfrage("SELECT variablen FROM session_website WHERE nummer='$session_id' LIMIT 1");
list($var) = mysql_fetch_row($get_vars);
$tmp = explode("|",$var);
for ($i=0;$i<count($tmp);$i=$i+2) {
if ($tmp[$i])
$_SESSION[$tmp[$i]] = $tmp[$i+1];
}
}
Speichern in der Datenbank:
PHP:
$var = "";
foreach($_SESSION as $key => $value) {
if (trim($key) && trim($value)) {
$var .= $key."|".mysql_escape_string($value)."|";
}
}
abfrage("UPDATE session_website SET variablen='$var' WHERE nummer='$session_id'");
(Die Funktion abfrage() sendet einfach ein Query und gibt das Ergebnis zurück)
Gruß