Innere Seite erst nach zweitem Login

Wambo

Mitglied
Hallo alle zusammen.
Ich habe ein Problem bei einem Loginscript.
Also wenn ich die korrekten Daten in das Login Formular eingeben werd ich wieder zurück geleitet.
Erst beim zweiten Versuch (und allen folgenden) kann ich mich sofort einloggen.
Auch komisch: Wenn ich die Cookies Lösche klappt es wieder erst beim zweiten Mal.

PHP:
//zuerst verbindung zur Datenbank die liste ich aber nicht extra auf

if (mysql_num_rows ($result) > 0) 
{ 


  $row = mysql_fetch_array ($result); 


  	$_SESSION["user_id"]		= $row["Id"]; 
  	$_SESSION["user_nickname"] 	= $row["Nickname"]; 
  	$_SESSION["user_nachname"]	= $row["Nachname"]; 
  	$_SESSION["user_vorname"] 	= $row["Vorname"]; 

echo '<script LANGUAGE="JavaScript">';
echo "top.location.href='intern.php'";
echo "</script>";
}

else 
{ 
 echo '<script LANGUAGE="JavaScript">';
echo "top.location.href='formular.php'";
echo "</script>";
}

So also bis dahin kommt man, also bis zum setzen der Session Variablen.
Bis zur Überprüfung kommt man auch noch. Diese sieht wie folgt aus:

PHP:
session_start ();
if(!isset($_SESSION['user_id']))
{
echo '<script LANGUAGE="JavaScript">';
echo "top.location.href='formular.php'";
echo "</script>";
die();

}
Aber danach ist man ohne die Geschützte Site gesehen zu haben wieder beim Formular.
Es müsste also an den Sessionvariablen liegen. Aber da finde ich kein fehler
Danke für eure Lösungsansätze
 
Zuletzt bearbeitet:
warum machst Du die Weiterleitung nicht mit header Funktion statt Javascript? Somit sperrst Du die Leute die JS deaktiviert haben nicht aus :). Vielleicht ist hier JS auch die Ursache.
 
warum machst Du die Weiterleitung nicht mit header Funktion statt Javascript?
Das habe ich versucht das hat aber nicht funktioniert.


Schau doch mal, was passiert, wenn du die Session ID mit an die JS Weiterleitung dranhängst.

Wie hängt man die daran? bzw. Woher weiß ich was die Session ID ist? :confused:

SO?:
PHP:
echo '<script LANGUAGE="JavaScript">';
echo "top.location.href= ' formular.php?id=".session_id()." ' ";
echo "</script>";
:confused:
Danke für eure Hilfe
 
Zuletzt bearbeitet:
Hallo
Ich habe mein Problem durch Zufall gelöst. Nun möchte ich gerne wissen warum es gelöst ist. Ich habe einfach den Cookie mit dem Namen sess_id und dem Wert session_id() gesetzt.
Dasselbe habe ich mit dem Cookie sess_name gemacht also mit dem Wert session_name().
In dem Überprüfungsscript frage ich diesen Cookie nicht einmal an . Er ist also nur gesetzt und das Script klappt wie geschmiert.
Ich habe auch die ID und den Namen an die Weiterleitung angefügt.
Wenn ich aber eins von den beiden(Cookie oder URL) weglasse klappt das Script nicht mehr.
Nun meine Frage.
Liegt es an dem Namen des Cookies (also sess_id und sess_name) oder an dem Inhalt der einfach irgendwie gesetzt werden muss.
Oder braucht man beides? oder wie soll ich das verstehen?
Ich bitte um Antwort
 
Zuletzt bearbeitet:
Zurück