Momo: if else Anweisung

Als PHP Dummy habe ich ein kleines Problom mit einer if else Anweisung.

<?
if($id =="test1")
 include("inc/headertest1.inc.php");
if($id =="test2")
 include("inc/headertest2.inc.php");
else
       include("inc/header.inc.php");
?>

Also steht eine bestimmte ID in der Browseradresszeile, soll ein entsprechender Header geladen werden. Steht keine bestimmte ID oder gar keine dort, dann soll der Standardheader geladen werden.

Leider funktioniert o.g. Anweisung nicht korrekt...

Kann mir jemand helfen?????????????

Vielen Lieben Dank!!!!

  1. Hallo Momo!!

    bei solchen Fragen solltest du am Besten zuerst auf www.selfphp.info schauen dort findest du sicher Antwort!!!

  2. Hi,

    Leider funktioniert o.g. Anweisung nicht korrekt...

    das ist zwar keine Problembeschreibung, aber seit nächstem Donnerstag kann ich ja hellsehen.

    Unabhängig von der Sprache: Ein if-else-Konstrukt ist wie folgt aufgebaut:

    if      (Bedingung) Anweisung
    else if (Bedingung) Anweisung
    else if (Bedingung) Anweisung
    else if (Bedingung) Anweisung
    ...
    else                Anweisung

    Folgt auf ein if kein else oder else if, ist es _beendet_. Für jedes folgende if ist eine vorherige Abfrage vollkommen uninteressant; es existiert kein Zusammenhang. Erst ein else if bedingt, dass das if "noch läuft". Du hast in Deinem Code also zwei voneinander unabhängige if-Abfragen, von denen nur die zweite einen else-Teil hat.

    Ob das else if in der von Dir verwendeten Sprache nun "else if", "elseif", "elsif", "elif" oder ganz anders heißt (vielleicht sogar "case", wobei das if dann meist "switch" heißt), entnimm bitte der jeweiligen Doku.

    Kann mir jemand helfen?????????????
    Vielen Lieben Dank!!!!

    Gegen prellende Frage- und Ausrufezeichentasten hilt Kontaktspray[tm] Nr. 54 und die Lektüre von Terry Pratchett.

    Cheatah

    --
    X-Will-Answer-Email: No
  3. Guten Morgen,

    <?
    if($id =="test1")
    include("inc/headertest1.inc.php");

    elseif($id =="test2")
    // mach hier ein elseif drauss, sonst geht er durch beide Bedingungen, dh. wenn $id = "test1" included er 2x einmal oben und nochmals im else-Zweig

    include("inc/headertest2.inc.php");
    else
           include("inc/header.inc.php");
    ?>

    wenn es noch Probleme gibt, mach ruhig immer die geschweiften Klammern um die Anweisungen, auch wenn man es bei einzeiligem Code eigentlich nicht braucht

    Vielen Lieben Dank!!!!

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
  4. Als PHP Dummy habe ich ein kleines Problom mit einer if else Anweisung.

    <?
    if($id =="test1"){
     include("inc/headertest1.inc.php");}
    else if($id =="test2")
     {include("inc/headertest2.inc.php");}
    else {
           include("inc/header.inc.php");}
    ?>

    statt include erstmal echo ausgeben, z.B. echo "test1" und echo "test2" und echo "header".
    Du kannst aber auch
    <?
    if($id!="test1"||id!="test2")
    {include("inc/header.inc.php");}
    else{
    if($id =="test1"){
     include("inc/headertest1.inc.php");}
     else if($id =="test2")
     {include("inc/headertest2.inc.php");}

    }
    ?>