PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   HTML in Verzweigungsblöcken (https://www.php-resource.de/forum/php-developer-forum/77376-html-in-verzweigungsbloecken.html)

NEOX 27-10-2006 16:02

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:
Parse error: parse error, unexpected '{', expecting ':' in C:\Server\htdocs\haendlerzugang\temp.php

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

wahsaga 27-10-2006 16:06

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.

NEOX 27-10-2006 20:57

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

    }
}

?>



Alle Zeitangaben in WEZ +2. Es ist jetzt 17:26 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG