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!
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.
mysql_select_db(´currentsession´, $DB);
´currentsession´ war die Tabelle ersetzt mit der Datenbank die ich benutze und es ging.

