WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Problem mit session_decode()

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Problem mit session_decode() - 30 Dez 2024 Antworten
Problem mit session_decode()
GeneticMaster
Pixelschubser
Threadstarter




Beiträge: 10

Horido und schönen guten Abend,

...tja, jetzt sitze ich hier seit knapp 3 Std. und bin scheinbar nicht in der Lage einen einfachen Fehler zu finden. =( Und zwar gehts um folgendes:

Ich schreibe gerade einen Session-Handler um Sessions in der DB zu speichern. Nun gut, jetzt habe ich soweit alles fertig (keine große Sache wenn man Google nutzt :p), und muss bedauerlicherweise feststellen, dass mir die Funktion "session_decode()" seltsamer weise die Werte nicht dokodiert und in der gestarteten Session zur verfügung stellt... Die Funktion zum Auslesen der Daten wird auch erreicht und die Zeile mit "session_decode()" auch ausgeführt, aber will ich jetzt in einem Script die Variable verwenden, bekomme ich den Fehler "undefined index:" und anschließend sind auch in der DB im Feld der Session-Vars die Daten verschwunden... !?! *grübel*

Wäre super wenn mir jemand von euch ein Wink mit dem Zaunpfahl geben könnte...

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74:
function _session_open($save_path, $session_name) {
	global $user_ip;
	global $vcmsConfig_session_lifetime;
	
	$sid = session_id();
	$sid = strip_tags($sid);
	$sql = "SELECT session_ip, session_expiry FROM cms_sys_session WHERE session_key = '$sid'";
	$rs = mysql_query($sql);
	
	if(mysql_num_rows($rs) == 0) {
		// Wir haben noch keine Session in der DB --> neue Session in DB schreiben
		$expiry = time() + $vcmsConfig_session_lifetime;
		$sql = "INSERT INTO cms_sys_session (session_key, session_ip, session_expiry) VALUES ('$sid', '$user_ip', '$expiry')";
	}
	else {
		// Wir haben die Session in der DB gefunden --> IP und Zeitmarke prüfen
		$session_data = mysql_fetch_array($rs);
		if($user_ip != $session_data['session_ip']) {
			die("IP-Validation ERROR !
This is not your Session-ID!!!"); } if($session_data['session_expiry'] < time()) { die("EXPIRY-Validation ERROR!
This Session-ID is out of time!!!"); } // Zeitstempel und weiter $sql = "UPDATE cms_sys_session SET session_timestamp = NOW() WHERE session_key = '$sid'"; } $rs = mysql_query($sql); return $rs; } function _session_read($sid) { $sql = "SELECT session_vars FROM cms_sys_session WHERE session_key = '$sid'"; $rs = mysql_query($sql); $vars = mysql_fetch_array($rs); if(is_array($vars)) { session_decode($vars['session_vars']); return true; } else { return false; } } function _session_write($sid, $vars) { $check_query = "SELECT COUNT(*) FROM cms_sys_session WHERE session_key = '$sid'"; $check = mysql_query($check_query); if($check > 0) { $sql = "UPDATE cms_sys_session SET session_vars = '$vars' WHERE session_key = '$sid'"; $rs = mysql_query($sql); return $rs; } return false; } function _session_destroy($sid) { $sql = "DELETE FROM cms_sys_session WHERE session_key = '$sid'"; $rs = mysql_query($sql); return $rs; } function _session_close() { return true; } function _session_gc($maxlifetime) { $sql = "DELETE FROM cms_sys_session WHERE session_expiry < '".time()."'"; $rs = mysql_query($sql); return $rs; } session_set_save_handler('_session_open', '_session_close', '_session_read', '_session_write', '_session_destroy', '_session_gc');


Schon mal vielen Dank im voraus. Denke es wird irgendein trivialer Fehler sein den ich scheinbar übersehen habe...

Diese Nachricht wurde geändert von: GeneticMaster
  Profil   Editieren   Zitieren
GeneticMaster
Pixelschubser
Threadstarter




Beiträge: 10

Ok, ich hab jetzt mal versucht etwas zu debuggen und musste feststellen, dass er mir die Session-Daten nur dann decodiert, wenn ich später expliziet die Funktion "_session_read($sid)" mit entsprechender ID aufrufe... Oo

Allerdings sollte das doch automatisch funktionieren, so wie bei den anderen Funktionen auch... Man, ich verzweifel gleich!?! *heul*

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Problem mit session_decode()

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Problem mit session_decode() im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8149237    Heute : 466     Gestern : 539     Online : 67     30.12.2024    18:01      0 Besucher in den letzten 60 Sekunden        
Nach oben