SESSION funktioniert nicht - lässt nicht einloggen

cmc-one

Mitglied
Hi,
ich habe ein Problem bei der Erstellung einer Session. Trotz meines erachtens korrekter Log-In Daten werde ich immer wieder auf die Startseite geschickt. Hier kurz der Ablauf meiner Datein:

In der "index.htm" existiert nur ein HTML-Formular zur Abfrage von Name und Passwort. Es wird dann per "submit" auf die "index2.php" weitergeleitet.

In "index2.php" passiert folgendes (Auszug aus dem Quelltext):
PHP:
<?php
include("mysqldb.php"); // PHP-Klasse für MySQL-Datenbank
include("session.php");
// User und Kennwort in der Session registrieren
session_register("user");
session_register("passwort");
 
if ($user=="admin"):
header("Location: uebersicht.php"); //wenn als Admin angemeldet
exit;
endif;
 
if ($user=="test"):
header("Location: uebersicht_user.php"); //wenn als anderer User angemeldet
exit;
endif;
?>

In der Datei "session.php" wird die session gestartet und die Zugangsdaten werden geprüft (Quelltext):
PHP:
<?php
// Dient zum Prüfen von Username und Password
// mysqldb muss vorher eingebunden worden sein
 
session_start();
$db->query("SELECT verkaeufer_id FROM verkaeufer WHERE name='$user_name' and passwort=PASSWORD('$passwort')");
if (!list($verkaeufer_id) = $db->data()) // keine Daten
{
	header("Location: index.htm");
	exit;
 
}
?>

Die Datein "uebersicht.php" und "uebersicht_user.php" sind im allgemeinen gleich. Sie beginnen beide mit:
PHP:
<?php
 
include("mysqldb.php");
include("session.php");
?>
<html>
...
</html>

Ich finde keinen Fehler und weiss auch nicht mehr wo ich noch suchen soll.

Falls jemand was findet bitte mitteilen...
Danke ...
 
Und session start () muss der erste Befehl der Seite sein meines Wissens.
Ich hab als Grundgeruest z.B. die index.php dort steht direkt oben die session start funktion.
Erst darunter kommen die ganzen Includes/Require_once's

Ich hatte da mal Probleme damit, oder ist das mittlerweile egal wo mans hinschreibt? (Mit der weiterentwicklung von PHP mein ich ))
 
cmc-one hat gesagt.:
geht auch dann nicht...

Ja das wollt ich dir aufs Brot schmieren!

@ BeaTBoxX: Auf wenn man ob_start + ob_end_flush benutzt ?! ;)
Beisession_start darf man lediglich vorher keine Ausgabe an den Browser machen
und ich denke mann sollte das machen bevor man auf die Session-Vars zugreift.
 
Zurück