Fehler in IF Anweisung

Henselmania

Mitglied
Folgender Code Funktioniert soweit d.h. er liest die DB Daten ein und gleicht Sie ab.

Nur die weiterleitung header Anweisung funktioniert irgendiwe nicht. Hab jetzt schon alles überprüft und keinen Fehler gefunden...
Ich lande immer wieder auf der index.php Seite und nicht auf der Intern.php obwohl der Login richtig ist.

Was kann der Fehler sein ?
PHP:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "user", "pw"); 
if (!mysql_select_db ("db", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$query = ' SELECT `Id`, `Nickname`, `Kennwort`, `Titel`, `Nachname`, `Vorname`, `Aktiv` FROM `benutzerdaten` WHERE
            `Nickname` = "'.mysql_real_escape_string($_POST['name']).'" AND `Kennwort` = "'.md5($_POST['pwd']).'"';
$result = mysql_query($query);
if( $row = mysql_fetch_assoc($result) ) {
    if( $row['Aktiv'] == 'Y' ) {
        if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"];
  $_SESSION["user_mail"] = $data["Mail"];

  header ("Location: intern.php"); 
    } else {
        header ("Location: index.php?fehler=1");
    }
} else {
    header ("Location: index.php?fehler=2");
}  
 
} 
?>
 
Wenn du auf index.php?fehler=1/2 landest sollte ja irgendwie klar sein was los ist ^^
Kommt der Script wirklich bis zum header? Klammer den mal aus und mach ne kleine Ausgabe davor...
Ansonsten probier mal nen exit; direkt nach dem header...
 
Hab jetzt mal folgendes gemacht !
PHP:
$query = '
    SELECT
            `Id`,
            `Nickname`,
            `Nachname`,
            `Vorname`,
            `Mail`,
            `Aktiv`
      FROM
            `benutzerdaten`
      WHERE
            `Nickname` = "'.mysql_real_escape_string($_POST['name']).'"
        AND `Kennwort` = "'.md5($_POST['pwd']).'"
    ';
$result = mysql_query($query);
if( $row = mysql_fetch_assoc($result) ) {
    if( $row['Aktiv'] == 'Y' ) {
        // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"];
  $_SESSION["user_mail"] = $data["Mail"];
echo 'bla';
 // header ("Location: intern.php"); 
 // exit;
    } else {
        echo 'Ihr Benutzerkonto wurde noch nicht freigeschaltet.';
    }
} else {
    echo 'Benutzername und/oder Passwort stimmen nicht überein.';
}

Also logge ich mich richtig ein kommt bla usw. das Funktioniert alles nur das mit dem header wie oben nicht komm nicht auf meine Interne seite.
 
Zurück