ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
677
677
EMPFEHLEN
-
Hallo zusammen,
ich versuche seit gestern ein Fehler zu finden, der mich verzweifeln lässt.
Ihr seid mal wieder meine letzte Hoffnung...
Es geht um folgendes Problem:
Die SID bzw. mein $_SESSION['SESSION_Passwort'] wird nicht richtig übergeben.
Es liegt foldende Struktur vor:
index.php
PHP-Code:echo "<form method=\"post\" action=\"logincheck.php\">";
echo "<input title=\"bitte Kennwort eingeben.\" name=\"kennwort\" size=\"20\" type=\"password\" /><input type=\"hidden\" name=\"".session_name()."\" value=\"".session_id()."\" /> <br /><br />";
echo "<input title=\"Hier klicken um sich anzumelden.\" class=\"buttonAnmelden\" name=\"senden\" value=\" \" type=\"submit\" />";
echo "</form>";
logincheck.php
und die logincheck.inc.php die in jede Seite eingebunden wird, die geschützt werden soll.PHP-Code:$Zugangspasswort = "123";
$SESSION_Passwort = $_POST['kennwort'];
if($SESSION_Passwort==$Zugangspasswort){
session_start();
$_SESSION['SESSION_Passwort'] = $SESSION_Passwort;
header('Location: http://www.meinedomain.de/seite1.php?'.SID);
exit();
}
die logincheck.inc.php wird z.B. (wie weiter oben im header) mit "include" in die seite1.php eingebunden.PHP-Code:session_start();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
//$_SESSION['SESSION_Passwort'] = "123";
if (!isset($_SESSION['SESSION_Passwort']) || (!$_SESSION['SESSION_Passwort'])) {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
exit;
}
Mein Problem ist nun, das die $_SESSION['SESSION_Passwort'] in der logincheck.inc.php nicht erkannt wird,
das heisst sie geht irgendwo verloren.
Wenn ich den das Passwort (123) von $_SESSION['SESSION_Passwort'] in die logincheck.inc.php direkt eingebe dann funktioniert es und ich komme auf die geschützte Seite, sonst lande ich, wie auch im Code vorgegeben, wieder auf der index.php Seite.
Ich habe mit echo $_SESSION['SESSION_Passwort']; den Inhalt anzeigen wollen und da
steht, wie vermutet, nichts drin, also keine SESSION Übergabe.
Wieso geht denn die SESSION bei der .inc-Datei verloren?
Kann mir bitte jemand weiterhelfen?!
Ich blick da nicht mehr durch.
Vielen Dank im vorraus!
Gruß abakuz
-
Ich hatte vergessen zu schreiben das auf dem Server die PHP Version 5.1.6 läuft.
-
Hat das Feld einen Sinn?index.php
PHP-Code:<input type="hidden\" name=\"".session_name()."\" value=\"".session_id()."\" /> <br />
Bin mir ziemlich sicher, dass der Quelltext nicht gehen dürfte, da header() eigentlich als Error geben sollte: "Headers already sent", weil session_start() schon aufgerufen wurde.logincheck.php
PHP-Code:$Zugangspasswort = "123";
$SESSION_Passwort = $_POST['kennwort'];
if($SESSION_Passwort==$Zugangspasswort){
session_start();
$_SESSION['SESSION_Passwort'] = $SESSION_Passwort;
header('Location: http://www.meinedomain.de/seite1.php?'.SID);
exit();
}
Außerdem müsste es heissen:
bzw:PHP-Code:header('Location: http://www.meinedomain.de/seite1.php?'.$SID);
PHP-Code:header('Location: http://www.meinedomain.de/seite1.php?'.session_id());
Wird vor der logincheck.inc.php schon bereits ein session_start() aufgerufen? Wenn ja, könnte das auch der Fehler sein.und die logincheck.inc.php die in jede Seite eingebunden wird, die geschützt werden soll.
PHP-Code:session_start();
Vllt. ist es aber auch schon das fehlende $-Zeichen bei der header-Funktion.
-
Mein Beitrag war völlig neben der Spur. Sorry.
Geändert von saila (14.09.06 um 11:29 Uhr)
tschöh mit öh
salia
Wenn kein Text oben vorhanden ist, hier klicken:
Für PHP -> FAQ
Für PHP -> php.net
für MySQL -> dev.mysql.com
-
Danke erst einmal für eure Antworten...

Gute Frage, ich denke es müsste auch ohne dem Hidden-Feld funktionieren.
Zitat von tecco
Aber daran liegt es sicherlich nicht.
Das Phänomen ist das die ganze Seit vorher einwandfrei funktioniert hat.
Vorher hatte ich es als Subdomain eingerichtet.
Nun habe ich die Daten aus der Subdomain in eine "normale" Domain rüberkopiert (bei dem selben Anbieter) und nun geht das LogIn nicht mehr.
Da kommt kein "Headers already sent", es kommt leider gar keine Fehlermeldung.
Zitat von tecco
Zitat von tecco
ich habe das immer ohne $ gesehen, aber ich gehe auch dieser Sache mal auf die Spur.
Ja, es wird ein Session gestartet auf der index.php und in der logincheck.php.
Zitat von tecco
Auf der index.php weil ich damit, bei erfolgreichem Login das Eingabeformular ausblende und ein LogOut anzeige.
Bei der logincheck.php, weil ich dort die Eingabe des Users überprüfe (Passwort richtig? etc..) und einen Hinweis ausgebe (Bitte erst anmelden...blablabla...).
Ich wünschte es wäre nur das $-Zeichen...
Zitat von tecco
-------------------------
Was möchtest Du mir damit sagen?
Zitat von saila
-------------------------
Gruß abakuz
-
14.09.06 08:51 #6
- Registriert seit
- Sep 2005
- Beiträge
- 15
seit wann macht man sowas?...seite1.php?'.session_id()...
SID übergaben gehen immer
....seite1.php?".session_name( )."=".sesion_id( )...
-
Also, hab das ganz mal ohne include ausprobiert doch leider das gleiche Problem, die Session wird angezeigt, aber der Inhalt von $_SESSION['SESSION_Passwort'] ist leer.
Kann das ganz vielleicht damit zusammenhängen, dass session.use_trans_sid=0 ist?
stimmt... in der SID steht ja nichts anderes drin als: session_name( )."=".sesion_id( ).
Zitat von Kane_Kowalski
(wenn ich das richtig verstanden habe)
-
Zumindest hast Du versucht zu helfen...
Zitat von saila
Habe den Fehler gefunden, der Code weiter oben ist richtig, der Fehler lag wo anders.
Nach der Umstellung von Subdomain auf "richtige" Domain, hat mein netter Provider den tmp-Ordner wo die Sessions gespeichert werden auf
rw-rw-rw- gesetzt. Warum das per default so ist versteh ich zwar nicht, aber nach der Änderung in rwxrwxrwx klappte alles wunderbar.
Der ganze Spaß hat mich jetzt fast 3 Tag gekostet...grrrr...
Vielen Dank für eure Bemühungen!
Gruß abakuz
Ähnliche Themen
-
session_start macht plötzlich Probleme + Session geht verloren
Von stega im Forum PHPAntworten: 8Letzter Beitrag: 23.06.08, 21:09 -
Auswahl in der Selectbox geht geht verloren ...
Von tekton im Forum ASPAntworten: 1Letzter Beitrag: 02.06.06, 20:30 -
Session in Frame geht verloren
Von gwittmann im Forum PHPAntworten: 1Letzter Beitrag: 25.05.05, 11:53 -
[Sessions mit Cookies] Cookie gesetzt, Session geht aber verloren
Von sam im Forum PHPAntworten: 10Letzter Beitrag: 04.01.05, 17:33 -
Session Variable verloren
Von exitboy im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 28.09.04, 23:44





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen