Anfänger - Freitag, Februar 22, 2008 16:00

HTML in PHP ausgeben

Häufig muss man längere HTML Passagen im PHP Code ausgeben, z.B. wenn ein Text oder ein Formular in einer IF Abfrage ausgegeben werden soll.
Hier werden die verschiedenen Möglichkeiten der Ausgabe von HTML angegeben.

Als Beispiel nehmem wir ein kleines Formular, in dem man einen Namen und Passwort eingeben muss.

<form action=”login.php” method=”GET”>
<input type=”text” name=”user”>
<input type=”password” name=”passwort”>
<input type=”submit” value=”Login”>
</form>

Diese HTML Ausgabe soll nun also in ein PHP Script mit einer IF-Abfrage integriert werden.

Abfrage:

<?php
if(!isset($_GET[“user”]){ 
//HIER DIE AUSGABE DES FORMULARS 
}
?>

1. Möglichkeit

Eine Möglichkeit besteht darin, die HTML Anweisungen einfach per “echo” auszugeben.
Dabei muss man beachten, das in dem Formular Code eine Menge ” vorkommen.

Die erste Möglichkeit, dieses Formular mit echo Auszugeben, besteht darin, dass man vor jedes Anführungszeichen einen Backslash setzt.
Beispiel:

<?php   
if(!isset($_GET[“user”]){ 

echo “<form action=\”login.php\” method=\”GET\”> 
<input type=\”text\” name=\”user\”> 
<input type=\”password\” name=\”passwort\”> 
<input type=\”submit\” value=\”Login\”> 
</form>”

}
?>

Die Art der Ausgabe hat den Vorteil, dass eine Variable direkt mit ausgegeben werden kann.
Eine angenehmere Variante ist, wenn man keine Variablen ausgeben muss, diese hier:

<?php
if(!isset($_GET[“user”]){ 

echo ‘<form action=”login.php” method=”GET”> 
<input type=”text” name=”user”> 
<input type=”password” name=”passwort”> 
<input type=”submit” value=”Login”> 
</form>’


?>

Hier ist allerdings der Nachteil, dass eine Variable, z.B. $text, auch als $text ausgegeben wird.

2. Möglichkeit

Eine weitere Möglichkeit besteht darin, dass man einfach mit ?> einfach den PHP Code beendet. Trotzdem ist es möglich, z.B. in einer IF-Abrage nur einen bestimmten HTMl Teil auszugeben.
In unserem Beispiel liefe das so:

<?php
if(!isset($_GET[“user”]){ 
?> 

<form action=”login.php” method=”GET”> 
<input type=”text” name=”user”> 
<input type=”password” name=”passwort”> 
<input type=”submit” value=”Login”> 
</form> 

<?php

?>

3. Möglickeit

Bei PHP gibt es die Möglichkeit mit dem so genannten “HEREDOC Syntax” einfach HTML Passagen auszugeben.
Das funktioniert nach dem Prinzip:

<?php 
echo <<<HTML 

Hier kommt der HTML Code 

HTML;

In unserem Beispiel sähe das dann so aus:

<?php
if(!isset($_GET[“user”]){ 

echo <<<HTML 

<form action=“login.php” method=“GET”
<
input type=“text” name=“user”
<
input type=“password” name=“passwort”
<
input type=“submit” value=“Login”
</
form

HTML


?>

Statt dem Begriff HTML kann dort jedes andere beliebige Wort eingesetzt werden.
Auch Variablen können im HEREDOC bereich ausgegeben werden.
Sie müssen mit {} gekennzeichnet werden, z.B. {$text}.



Kommentieren

wichtige Artikel