• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

echo über mehrere Zeilen

Hallo zusammen,

ich möchte gern eine If-Anweisung durchführen und dann unterschiedliche "echo" ausgeben.

Doch beim echo habe ich einen Fehler. Mir wird gesagt das ein Semikolon oder ein Komma erwartet wird. Wie ihr im Code seht gibt es das abschließende Semikolon. Doch ich habe es nicht in der selben Zeile wie das "echo"

Da der Text der per "echo" ausgegeben wird etwas länger ist habe ich es zur Übersichtlichkeit im Quelltext auf mehrere Zeilen verteilt.
Und so steht das Semikolon eben weiter unten als das "echo".
Ist das so erlaubt oder hat der Fehler einen anderen Grund?

PHP:
<body>
              <?php
              if($_GET['p3'] == "fsk18")

             { echo  

"<div class="accordionhead">Home</div>

      <div class="accordionMenu">
           <div id="Einführung" class="menuSection"> <!-- class="menuSection"  keinen einfluss -->
               <h2><a href="index.php?p3=fsk18&Bereich=home&Inhalt=ueber-home" title="&uuml;bersicht &uuml;ber die aktuellen &Auml;nderungen">News/&uuml;bersicht</a></h2>
               <ul class="accordionMenu">
               </ul>
      </div>
      <div id="tor" class="menuSection">
           <h2><a href="#tor" title="&Ouml;ffnet die Auswahl der Login-Anbieter">FSK18 Login</a></h2>
           <ul class="accordionMenu">       <!-- Unterpunkte -->
               <li><a href="index.php?p3=fsk18&Bereich=home&Inhalt=AVSKey&#tor" title="Login &uuml;ber Anbieter AVSKey">AVS Key</a></li>
               <li><a href="index.php?p3=fsk18&Bereich=home&Inhalt=x-check&#tor" title="Login &uuml;ber x-check von Coolspot">x-check</a></li>
           </ul>
      </div>
      <div class="accordionfeed">&nbsp;</div>
</div>";}


              else

              { echo


      "<div class="accordionhead">Home</div>

      <div class="accordionMenu">
           <div id="Einführung" class="menuSection"> <!-- class="menuSection"  keinen einfluss -->
               <h2><a href="index.php?Bereich=home&Inhalt=ueber-home" title="&uuml;bersicht &uuml;ber die aktuellen &Auml;nderungen">News/&uuml;bersicht</a></h2>
               <ul class="accordionMenu">
               </ul>
      </div>
      <div id="tor" class="menuSection">
           <h2><a href="#tor" title="&Ouml;ffnet die Auswahl der Login-Anbieter">FSK18 Login</a></h2>
           <ul class="accordionMenu">       <!-- Unterpunkte -->
               <li><a href="index.php?Bereich=home&Inhalt=AVSKey&#tor" title="Login &uuml;ber Anbieter AVSKey">AVS Key</a></li>
               <li><a href="index.php?Bereich=home&Inhalt=x-check&#tor" title="Login &uuml;ber x-check von Coolspot">x-check</a></li>
           </ul>
      </div>
      <div class="accordionfeed">&nbsp;</div>
</div>"; }

              ?>
</body>

ich hoffe es kam einiger Massen verständlich rüber was ich meine.
 
Ich greife mal als Beispiel nur die erste Zeile vom echo raus

PHP:
echo "<div class="accordionhead">Home</div>...
..."
Der fehler ist hier, genau wie im Rest vom Echo dass du es mit " einleitest, aber auch die HTML-Attribute mit "..." anführst.

Es geht aber nur das eine oder das Andere
Also entweder so
PHP:
echo '<div class="accordionhead">Home</div>...
...'
oder so
PHP:
echo "<div class='accordionhead'>Home</div>...
..."
oder du escapest die " in der HTML-Ausgabe
 
Umgib den Inhalt von echo mit einfachen Anführungszeichen. Denn momentan hast Du doppelte sowohl außen als auch innen, das kapiert kein Parser.

Code:
echo [COLOR=red]'[/COLOR]<div attribut="wert">Inhalt</div>[COLOR=red]'[/COLOR];
 
Vielen Dank.

Das ist natürlich ein viel schöner Weg als alle " mit \ voran zu schreiben. (Das war mir dann wieder ein und aufgefallen)
Das werdet Ihr wohl mit escapest gemeint haben. ??
 

Neueste Beiträge

Zurück
Oben