Problem mit einer IF Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit einer IF Abfrage

    Hallo zusammen.

    Ich bin bei einem existierenden Projekt, das ich aktuell überarbeiten soll, auf etwas merkwürdigen Code gestoßen, der sich anders verhält, als ich erwarte.

    PHP-Code:
    <?php
    $module 
    "layout";

    if (
    $module == "login"?><form method='post' name='globalform' enctype='multipart/form-data'><?php 
    echo "TESTAUSGABE";
    if (
    $module == "login"?></form><?php
    Für mein Verständnis sollte die Ausgabe sein:
    HTML-Code:
    TESTAUSGABE
    Tatsächlich aber ist die Ausgabe - unabhängig von $module:
    HTML-Code:
    <form method='post' name='globalform' enctype='multipart/form-data'>TESTAUSGABE</form>

    Wenn ich nun {}-Klammern verwende
    PHP-Code:
    <?php
    $module 
    "layout";

    if (
    $module == "login") { ?><form method='post' name='globalform' enctype='multipart/form-data'><?php }
    echo 
    "TESTAUSGABE";
    if (
    $module == "login") { ?></form><?php }
    ist die Ausgabe wie erwartet:
    HTML-Code:
    TESTAUSGABE

    Es ist ansich für mich ok, wenn sich das Skript so verhält, wie es sich verhält (sprich, dass das "<form>" immer mit ausgegeben wird, denn das ist eigtl. sogar erwünscht).
    Allerdings würde ich es gerne verstehen.

    Gibt es da eine Besonderheit, die ich einfach noch nicht kenne?

    Vielen Dank für eure Hilfe!

    Beste Grüße
    Thomas

  • #2
    PHP-Code:
    <?php if(...): ?>
        
    <?php else: ?>
        
    <?php endif; ?>
    Wenn du schon mit dieser Schreibweise arbeitest, dann sauber.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Danke für deinen Kommentar, Peter. Wie erwähnt, ist es ein existierendes Projekt (nicht von mir erstellt), das an und für sich funktioniert und von mir nur erweitert wird.

      Mich würde tatsächlich nur interessieren, wieso die IF-Abfragen ohne Fehlermeldung ignoriert werden.

      Ist ein "?>" möglicherweise einem "; ?>" gleichzusetzen?

      Kommentar


      • #4
        Zitat von tglaser Beitrag anzeigen
        Ist ein "?>" möglicherweise einem "; ?>" gleichzusetzen?
        Jein.

        Die simple Syntax für ein if heißt
        PHP-Code:
        if (expr)
          
        statement 
        – wenn gleich nach [FONT="Courier New"]if (expr)[/FONT] dann aber der PHP-Bereich verlassen wird, dann ist das [FONT="Courier New"]statement[/FONT] wohl ein „leeres“ Statement, würde ich vermuten.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X