Simon: Problem mit Login-Script: header() funzt nicht

Hallo,

es wurde ein kleines Login-Script erstellt, das so funktioniert:

1. Verbindung zur mySQL-DB herstellen
2. Überprüfung ob schon Username oder Passwort eingegeben wurde
3. Wenn ja => Abgleich der Login-Daten
4. Überprüfung, ob das Konto aktiv ist (es gibt auch inaktive Konten ... dazu wird in der Datenbank einfach der Wert active auf 0 gesetzt).
Wenn Konto aktiv ist, soll man zur jfcr.php geleitet werden. Falls es inaktiv ist, wird man zur register.php geleitet, wo man einen Aktivierungscode eingeben soll.

Und das Problem: Wenn alle eingegebenen Daten mit den Werten aus der Datenbank übereinstimmen und das Konto aktiv ist, wird nur eine leere Seite angezeigt, statt die jfcr.php aufzurufen.

Kann sich eigentlich nur um eine simple Sache handeln... hier mal das Script:

<?
// Verbindung zur DB herstellen
include("sqlconnect.php");

//Existenzprüfung User - Pass
if ((!isset($username)) OR (!isset($passwort)))
{
die ("Bitte gib deinen Benutzernamen und dein Passwort ein!");
}

//Verbindungsaufbau mySQL-Server
$conn =  mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Systemfehler! Bitte wende dich an den Administrator.");
}

//Wechsel zu DB
mysql_select_db($dbname,$conn);

//Logindaten Abgleich
$query = "SELECT pass,active FROM jfcr_user WHERE name = '$username'";
$result =  mysql_query($query,$conn);

//Ergebnis einlesen
$zeileholen =  mysql_fetch_array($result,MYSQL_ASSOC);
mysql_close($conn);

//Datenprüfung
if (!$zeileholen)
{
die ("Dein Benutzername ist falsch!");
}
if ($zeileholen["pass"] <> $passwort)
{
die ("Das eingegebene Passwort ist falsch!");
}
if ($zeileholen["active"] < 1)
{
session_register('username');
header ("register.php");
}
else
{
session_register('username');
header ("jfcr.php");
}

?>

Grüsse
Simon

  1. Hallo, Simon

    header ("register.php");

    Funktioniert denn dieses Weiterleiten?

    Ansonsten probier mal anstelle von

    header ("jfcr.php");

    header ("Location: jfcr.php");

    Gruß,
    Jobst

    1. Hallo,

      header ("Location: jfcr.php");

      ein grosses *klatsch* meinerseits... so ein dummer Fehler :p

      Danke, hast mir sehr geholfen ;)

    2. Hallo Jobst,

      header ("Location: jfcr.php");

      das ist kein gültiger header - hinter Location muss eine vollständige url stehen.

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|