Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

session_module_name("user")





Frage

Kann mir jemand sagen warum ich diese Fehlermeldung bekomme: Warning: session_module_name() [function.session-module-name]: A session is active. You cannot change the session module´s ini settings at this time. in ... Ich hab ein eigenes Session Modul geschrieben was ich ganz gerne verwenden möchte function ms_open($sesspath, $sessname) { global $DB; $time = time(); $sessid = session_id(); $query = "Select * FROM currentsession WHERE sessionID = ´$sessid´"; $RS = mysql_query($query); if (mysql_num_rows($RS) == 0) { $query = "INSERT INTO currentsession (sessionID, laccess) VALUES (´$sessid´, ´$time´)"; } else { $query = "UPDATE currentsession SET laccess = ´$time´ WHERE sessionID = ´$sessid´"; } $RS = mysql_query($query); return $RS; } function ms_read($sessid) { global $DB; $query = "SELECT * FROM currentsession WHERE sessionID = ´$sessid´"; $RS = mysql_query($query, $DB); $arrRS = mysql_fetch_assoc($RS); if (is_array($arrRS)) { session_decode($arrRS["variables"]); return TRUE; } else { return FALSE; } } function ms_write($sessid, $varis) { global $DB; $query = "UPDATE currentsession SET variables = ´$varis´ WHERE sessionID = ´$sessionid´"; $RS = mysql_query($query, $DB); return $blnRS; } function ms_destroy($sessid) { global $DB; $query = "DELETE FROM currentsession WHERE sessionID = ´$sessid´"; $RS = mysql_query($query); return $RS; } function ms_gc($sesslt) { global $DB; $$tStamp = time() - $sesslt; $query = "DELETE FROM currentsession WHERE laccess < ´$tStamp´"; $intRS = $objDB -> query($query); return $intRS; } function ms_close() { } session_module_name("USER"); session_set_save_handler(´ms_open´, ´ms_close´, ´ms_read´, ´ms_write´, ´ms_destroy´, ´ms_gc´); session_name(´SESSION´); $DB = mysql_connect("$db_server", "$db_user", "$db_passwort"); mysql_select_db(´currentsession´, $DB); session_start(´SESSION´); ?> <html> <body> <? $sessid = session_id(); echo "Aktuelle Session-ID: $sessid"; ?> </body> </html>

Antwort 1 von daniel776

Bist es niergens ein Session - Handler der auch funktioniert? Ich hab schon einige probiert. Nicht ein Code funzt.

Antwort 2 von daniel776

oh tippfehler. Gibt es niergendwo ein Session-Handler...

Antwort 3 von daniel776

Hab das problem zwar gelöst. Nur jetzt hab ich probleme mit dem Header.

Gibt es eine andere weiterleitungsmöglichkeit ausser Header oder per link? Oder wie kann man den Header so zurücksetzen das keine Fehlermeldung kommt. Header already send by output tralala.

header("location: .....php", false);?
header("location: .....php", replace);?

beides funzt nicht!

Antwort 4 von daniel776

achso wäre nicht schlecht zu schreiben wie man das problem gelöst hat. Also der Fehler lag in der Zeile

mysql_select_db(´currentsession´, $DB);


´currentsession´ war die Tabelle ersetzt mit der Datenbank die ich benutze und es ging.