ich komme im moment einfach nicht weiter, obwohl das problem eigentlich nicht so groß sein kann...
folgendes szenario:
ich bin auf der hauptseite, gebe in ein login-formular meine login-daten ein (name, passwort). beim abschicken wird auf das login-srcipt verwiesen, welches eine session mit allen nötigen daten startet und auf die aufrufende seite zurückverweist.
leider sind die session-variablen aber nach der weiterleitung anscheinend gelöscht, was ich nicht verstehe...
hier der code:
PHP-Code:
session_start();
# Cookies aktiviert?
$ses_name = session_name();
if(!isset($_COOKIE["$ses_name"])) {
header("Location: /cookies_deaktiviert");
}
# Datenbankverbindung aufbauen
...
$sql = "SELECT * FROM benutzerdaten WHERE ".
"Nickname like '".$_REQUEST["name"]."' AND ".
"Kennwort = '".md5 ($_REQUEST["pwd"])."'";
$result = mysql_query ($sql);
# Benutzerdaten sind gültig:
if (mysql_num_rows ($result) > 0)
{
$daten = mysql_fetch_array ($result);
$_SESSION["user_id"] = $daten["Id"];
$_SESSION["user_name"] = $daten["Nickname"];
$_SESSION["user_beitraege"] = $daten["beitraege"];
$_SESSION["user_email"] = $daten["email"];
$_SESSION["user_icq"] = $daten["icq"];
$_SESSION["user_datum"] = $daten["datum"];
$_SESSION["user_geburtstag"] = $daten["geburtstag"];
$_SESSION["user_wohnort"] = $daten["wohnort"];
$_SESSION["user_interessen"] = $daten["interessen"];
$referer = getenv("HTTP_REFERER");
# Account ist nicht freigeschaltet:
if($daten["aktiviert"]==0)
{
unset($_SESSION["user_id"]);
header ("Location: /nicht_aktiviert");
}
# Account ist freigeschaltet:
else
{
header("Location: $referer");
}
}
# Benutzerdaten sind ungültig:
else header("Location: /login_fehlgeschlagen");
nach meinem begrenzten kenntnisstand müssten die session-daten doch jetzt in einem cookie gespeichert sein, oder?
auch eine weiterleitung mit
PHP-Code:
header("Location: $referer?".session_name()."=".session_id());
habe ich erfolglos probiert.
woran liegts, dass die session variablen weg sind?
