HTML in Verzweigungsblöcken

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

  • HTML in Verzweigungsblöcken

    Zunächst ein Beispiel zum Verständnis, was ich mit Verzweigungsblöcken meine:
    Code:
    <?php 
      $preis = 1.12;
      if ($preis < 1):
    ?>
    <p>Der Preis liegt unter 1 Euro</p>
    
    <?php else: ?>
    <p> Der Preis liegt bei über 1 Euro</p>
    
    <?php endif ?>
    Das ist noch recht einfach, aber ich habe hier ein weiteres Beispiel, wo es irgendwie nicht mehr funktioniert. Ich glaube, es liegt an den geschweiften Klammern, in denen die Anweisung steht:
    Code:
    <?php
       if(empty($_REQUEST['vorname']) 
       || empty($_REQUEST['nachname'])):
    ?>
    <p>Bitte füllen Sie alle Felder aus!</p>
    
    <?php 
      else
      {
        mysql_connect("server", "user", "pass");
        mysql_select_db("datenbank");
      
        $data  = "insert tabelle (vorname, nachname) ";
        $data .= "values ('";
        $data .= $_POST["vorname"] . "', '";
        $data .= $_POST["nachname"] . "')";
        mysql_query($data);
    
        $num = mysql_affected_rows();
        if($num > 0)
      }:
    ?>
    <p>Ihre Daten wurden erfolgreich eingetragen.</p>
    
    <?php endif; ?>
    Hier erhalte ich diese Fehlermeldung:
    [COLOR="Red"]Parse error: parse error, unexpected '{', expecting ':' in C:\Server\htdocs\haendlerzugang\temp.php[/COLOR]

    Weiß jemand, warum die 2. Variante nicht funktioniert bzw. wie ich es richtig lösen kann?

  • #2
    Re: HTML in Verzweigungsblöcken

    Richtig, du beendest mit der } Klammer den else-Block.

    Könnte gehen, wenn du stattdessen erst mal den Parser-Bereich beendest ?>, und dann anschließend nach dem <?php die schließende geschweifte Klammer setzt.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      So funktioniert es:

      Code:
      <?php
      
      if (empty($_REQUEST['vorname']) || empty($_REQUEST['nachname']))
      {
      
      ?>
      <p>Bitte füllen Sie alle Felder aus!</p>
      
      <?php
      
      }
      else
      {
          mysql_connect("server", "user", "pass");
          mysql_select_db("datenbank");
      
          $data = "insert tabelle (vorname, nachname) "
                . "values ('"
                . $_POST["vorname"] . "', '"
                . $_POST["nachname"] . "')";
      
          mysql_query($data);
      
          $num = mysql_affected_rows();
      
          if ($num > 0)
          {
      ?>
      <p>Ihre Daten wurden erfolgreich eingetragen.</p>
      
      <?php
      
          }
      }
      
      ?>

      Kommentar

      Lädt...
      X