Loginsystem funktioniert einfach nicht... need help

Sunke

Mitglied
Hi.. also ich habe als Test 3 Dateien erstellt:

test1.php
Code:
 <?php
session_start();
//* Überprüfung ob Benutzer eingeloggt ist!
function eingeloggt()
{
if($_SESSION['authenticated'] == true)
{
return true;
}
else
{
echo '<form action="test3.php" method="POST">
		<input type="text" name="benutzer">
		<input type="password" name="passwort">
		<input type="submit" name="einloggen">';
}
}
?>

Test2.php
Code:
 <?php
include('test1.php');
//* Es wird überprüft ob der Benutzer eingeloggt ist!
if(eingeloggt())
{
echo "Eingeloggt";
}
else
{
echo "AusgeloggT";
}
?>

Und Test3.php

Code:
 <?php
/* Session initialisieren */
session_start();
/* übergebene Variablen auslesen */
$username = $_POST['benutzer'] ? $_POST['benutzer'] : false;
$password = $_POST['passwort'] ? $_POST['passwort'] : false;
if($username && $password)
{
 
	include('include/database.php');
	$connection = mysql_connect($host,$benutzer,$pass);
	if($connection)
	{
	 if(mysql_select_db($db))
	 {
	 $sql = "SELECT id FROM admin WHERE (benutzer = '".$username."') AND (passwort = '".$password."')";
	 $result = mysql_query($sql);
	 echo $result;
	 if($result && (@mysql_num_rows($result) > 0))
	 {
	 echo "HALLO";
		 $row = mysql_fetch_row($result);
		 $_SESSION['authenticated'] = true;
		 $_SESSION['user_id'] = $row[0];
		 $_SESSION['username'] = $username;
	 }
	 else
	 {
		 $_SESSION['authenticated'] = false;
	 }
	 }
}
}
/* Umleitung */
header('Location: test2.php');
?>


Folgendes Problem:
Bei der Eingabe von Login-Daten wird die Test3.php komplett durchgelaufen und die
$_SESSION['authenticated'] wird auch auf true gesetzt, jedoch geh ich nun ja wieder zur test2.php und dort ist das Array $_SESSION nicht mehr da
Was mache ich falsch!

Wäre echt super nett wenn ihr mir helfen könntet!
 
Bist du dir sicher, dass die Session erstellt wird? Überprüf das mal. Weil eigentlich müsste die Session da sein, da du ja in der Test2 die Test1 includierst und somit auch das session_start()!
Werden bei dir Cookies akzeptiert? Daran könnte es vll auch liegen!

Wart mal: ich sehe gerade, das du, wenn die Session nicht besteht, in der if Abfrage, das Formular ausgibst. Könnte es daran liegen?
 
Hi... habe den Fehler nach langem... sehr langem suchen :( gefunden.. und zwar,
man mag es kaum glauben:

Der Script ist soweit richtig, aber durch eine Domain-Weiterleitung von einer de.vu Adresse wurde beim aufrufen der Seiten JEDES mal eine neue Session erstellt und somit
können die Daten natürlich auch nicht von einer zur anderen Seite.

Lösung: direkte Ip/adresse benutzen, dann klappt's.

Woran das liegt... keine ahnung? :confused: :confused:

Das fertige Script kannst du/ihr euch gerne anschauen unter
Fertiges Script

Falls ihr noch Verbesserungsvorschläge habt oder Sicherheitslücken entdeckt, bitte posten!

Logindaten:
Benutzername: admin
Passwort = passwort
 
Zurück