Warum klappt der Code nit

chelzyfire

Mitglied
Also..Ich habe folgenden Code:

PHP:
if (mysql_num_rows ($result) > 0)
{
  $data = mysql_fetch_array ($result);

  $_SESSION["user_id"] = $data["Id"];
  $_SESSION["user_nickname"] = $data["Nickname"];
  $_SESSION["user_nachname"] = $data["Nachname"];
  $_SESSION["user_vorname"] = $data["Vorname"];
  $_SESSION["user_Anzahl_Logins"] = $data["Anzahl_Logins"];

  $user = $_SESSION["user_id"];
  $update = "UPDATE ".
    "benutzerdaten ".
  "SET ".
    "Anzahl_Logins = Anzahl_Logins +1 ".
  "WHERE ".
    "'".$user."'";

  mysql_query ($update);
  
elseif ($data["Id"] == 1)
{
  header ("Location: intern_admin.php")

}else{

   header ("Location: intern.php");


}else{

  header ("Location: index.php?fehler=1");

}
?>

Ich bekomme immer einen Error bei dem elseif....Was habe ich falsch gemacht Ich will, dass wenn if (mysql_num_rows ($result) > 0) positiv ist, der nochmal überprüft ob $data("Id"] = 1 ist...Dann soll er wenn ja zur seite intern_admin.php oder wenn nein zu seite intern.php weiterleiten. Desweiteren soll er, wenn if (mysql_num_rows ($result) > 0) nicht erfüllt ist zu index.php?fehler=1 weiterleiten.
So klappt das auch, nur wenn Ich die zweite if abfrage mit $data einsetze bekomme ich immer errors.

Kann mir einer Helfen


MfG
chelzyfire
 
gut..thx..aber ich bekomme immer noch eine Fehler meldung:
Parse error: parse error, unexpected T_ELSE in ....... on line 60

PHP:
}
elseif ($data["Id"] == 1)
{
  header ("Location: intern_admin.php")

}else{

   header ("Location: intern.php");


}else{

  header ("Location: index.php?fehler=1");

}

Line 60 ist das letzte else
 
Da fehlt immer noch ein ;
PHP:
 header ("Location: intern_admin.php")
wird zu

PHP:
 header ("Location: intern_admin.php");
 
Das geht auch nicht wie du es machen willst Achtunng:

If (Brot = Zwiebel) { Anweisung }
elseif ( Brot = Abpfel ) { Anweisung }
else { Anweisung }

dh. Else kann nur einmal folgen!, und beendet den if Block! Du aber hast 2 mal else dirn!

Du kannst aber elseif so oft ausführen wie du möchtest

If (Brot = Zwiebel) { Anweisung }
elseif ( Brot = Abpfel ) { Anweisung }
elseif ( Brot = Brötchen) { Anweisung }
elseif ( Brot =Mehl) { Anweisung }
else { Anweisung }

Das funktioniert so:

Trifft der Fall IF ein folgt die IF anweisung ansonsten geht es zu r nächsten elseif usw. Wenn aber keiner der if bzw. elseif zutrifft wird else ausgeführt!
 
Zuletzt bearbeitet von einem Moderator:
Wenn ich den Code folgendermaßen mache:

PHP:
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_Anzahl_Logins"] = $data["Anzahl_Logins"];

  $user = $_SESSION["user_id"];
  $update = "UPDATE ".
    "benutzerdaten ".
  "SET ".
    "Anzahl_Logins = Anzahl_Logins +1 ".
  "WHERE ".
    "'".$user."'";

  mysql_query ($update);
  
}
elseif ($data["Id"] == 1)
{
  header ("Location: intern_admin.php");

}
elseif ($data["Id"] > 1)
{

   header ("Location: intern.php");


}else{

  header ("Location: index.php?fehler=1");

}
?>

Bekomme ich zwar keine Feheler meldung mehr, jedoch auch nix andres.....Die seite bleibt einfach nur weiß!
 
Dann ist warscheinlich die erste Bedingung immer true.

Mach doch mal bitte in die erste Bedingung ein echo "ja"; rein.

Mfg Akkie
 
Zurück