Hi,
hatte das Thema schon mal angerissen, aber nun mache ich es an einem Codeteil fest. Evtl. ist dann die Wahrscheinlichkeit auf Lösungsansätze höher.
Hier das Loginscript:
Das als ein Teil des Loginbereichs. Klar ist, in einer include-Datei ist session_start() und session_id() geregelt.
Doch nun das Problem. Wenn der User keine Cookies annimmt, wird die Session nicht auf dem Server angelegt. Auch der Abruf der Sessionvariablen bingt nichts bzw. es liegen keine Daten vor. Ergo - die Daten werden wie gesagt nicht angelegt.
Werden Cookies angenommen, ist der Loginvorgang vollständig sauber abgeschlossen und die Sitzung läuft.
Nun zu meinem Problem. Warum wird die Session nicht auf dem Server angelegt in einer Sessiondatei mit Sessionname $sid?
Damit die Sessioneinstellungen auch noch dabei sind folgen diese in der Übersicht:
Session Support enabled
Registered save handlers files user
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
Wäre über Lösungsansätze dankbar. Ich sitze seit mind. 4 Tagen über dem Teil und frage mich nach wie vor, warum auf dem Server die Daten nicht angelegt werden.
Danke im Voraus!
hatte das Thema schon mal angerissen, aber nun mache ich es an einem Codeteil fest. Evtl. ist dann die Wahrscheinlichkeit auf Lösungsansätze höher.
Hier das Loginscript:
PHP:
<?php
if(isset($_POST['login1'])) {
//Prüfen ob eMailadresse angegeben..
if ($_POST['email'] == '') {
$info_email1 = "<- Bitte tragen Sie Ihre eMail–Adresse ein";
}
//eMail auf Korrektheit prüfen.
elseif(!preg_match("/^[^\s@<>]+@[^\s@<>]+\.[a-z]{2,4}$/", $_POST['email'])) {
$info_email1 = "Ihre eMail–Adresse ist nicht korrekt.";
}
//Passwortcheck ob angegeben.
elseif($_POST['pass'] == '') {
$info_pass1 = "Bitte geben Sie ihr Password an.";
}
//Wenn alles korrekt, dann DB und Daten auf Übereinstimmung prüfen.
else {
// DB-Abfrage bzgl. Userdaten
$con = mysql_query("SELECT *
FROM user
WHERE email ='".$_POST['email']."' AND
password ='".md5($_POST['pass'])."'");
// Ist Datensatz vorhanden dann..
$a = mysql_num_rows($con);
// Daten in Array packen.
$e = mysql_fetch_object($con);
// Ist Datensatz vorhanden, dann mach...
if($a == 1) {
// Update bzgl. IP in Userdaten.
$con = mysql_query("UPDATE user
SET ip='$add'
WHERE id = '".$e->id."' AND
email='".$_POST['email']."'");
// Registrier die Daten in der Session.
$_SESSION['username'] = $e->name;
$_SESSION['uid'] = $e->id;
$_SESSION['add'] = $REMOTE_ADDR;
// Leite zur Indexseite weiter.
header("Location: index.php?sid=$sid");
}
else {
header("Location: anmelden.php");
}
}
}
?>
Das als ein Teil des Loginbereichs. Klar ist, in einer include-Datei ist session_start() und session_id() geregelt.
Doch nun das Problem. Wenn der User keine Cookies annimmt, wird die Session nicht auf dem Server angelegt. Auch der Abruf der Sessionvariablen bingt nichts bzw. es liegen keine Daten vor. Ergo - die Daten werden wie gesagt nicht angelegt.
Werden Cookies angenommen, ist der Loginvorgang vollständig sauber abgeschlossen und die Sitzung läuft.
Nun zu meinem Problem. Warum wird die Session nicht auf dem Server angelegt in einer Sessiondatei mit Sessionname $sid?
Damit die Sessioneinstellungen auch noch dabei sind folgen diese in der Übersicht:
Session Support enabled
Registered save handlers files user
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
Wäre über Lösungsansätze dankbar. Ich sitze seit mind. 4 Tagen über dem Teil und frage mich nach wie vor, warum auf dem Server die Daten nicht angelegt werden.
Danke im Voraus!
Zuletzt bearbeitet: