HomeArtikelDownloadsForum
PCFreunde.deArtikelTutorialsProgrammierenErstellen von dynamischen Internetseiten mit PHP
Besucher online: 37
Hinweis
Diese Seite steht zum Verkauf.
Mehr Infos

Schnellsuche

Kategorien
Mittwoch, 10. Dezember 2008 Seite 7/7
Ein komplexeres Beispiel
Zum Abschluss noch ein kleines Komplexbeispiel, das die vorher dargestellten Beispiele verdeutlichen und außerdem noch neue Sprachkonstrukte und Besonderheiten von PHP hinzufügen soll. Dieses soll verdeutlichen, wie man Werte von einer zu einer anderen Seite überträgt und diese dann bearbeitet, demzufolge besteht das Beispiel aus zwei Dateien. Zum einen die Datei „formular.php“:
<?php
/*echo<<<EOF gibt Alles bis zum Bezeichner EOF aus
* Das folgende Skript besteht also nahezu aus reinem HTML
*/
echo<<<EOF
<form method="POST" action="output.php"> 
Vorname: 
<input name="firstName" type="TEXT"><br/>
Nachname: 
<input name="lastName" type="TEXT"><br/>
Alter:
<input name="age" type="TEXT" size="3" maxlength="3"><br/>
<input value="Los!" type="submit">
</form>
EOF
?>
Diese Datei besteht im Grunde genommen fast aus reinem HTML. Das Besondere ist, dass der HTML-Code komplett von PHP geparst und ausgegeben wird. Das vorher bereits verwendete echo ist hier mit einem frei wählbaren Bezeichner versehen (hier: EOF für End of file). Dieser "sagt" dem Parser, dass er alles bis EOF als Text auf dem Bildschirm ausgeben soll. Der Inhalt besteht aus einem HTML-Formular (form), dessen Inhalt mittels der Methode POST (method="POST“" beim Klick auf den Button an die Datei output.php übertragen werden soll (action="output.php"). Das Formular besteht aus insgesamt drei Input-Feldern (firstName, lastName, age) und einem Button (Los!).

Anschließend die Datei "output.php":
<?php
$fn =  $_POST[firstName]; //Empfang der übertragenen Werte
$ln =  $_POST[lastName];
$age =  $_POST[age];
echo "<h3>Deine Eingaben waren:</h3><br/>";
echo "Vorname: $fn<br/>";
echo "Nachname: $ln<br/>";
echo "Alter: $age<br/>";
/*
 * Nun folgt die Auswertung
 */
echo "<div style=\"text-align:center;\">Auswertung:</div><br/>";
echo "Hallo " . strtoupper($fn) . ", <br/>"; //Alles Großbuchstaben
 
echo "Dein Nachname besteht aus " .strlen($ln) .  " Buchstaben<br/>"; 
//Anzahl der Buchstaben
echo "und beginnt mit " . substr($ln,0,1) . "<br/><br/>"; //Den ersten Buchstabe bestimmen
 
if ($age < 14) { //Überprüfung des Alters
	echo "Leider bist du zu jung für diese Seite ";	  
}
elseif ($age = 14) {
	echo "Glück gehabt, du bist gerade so alt genug für diese Seite";	  
}
else {
	echo "Du bist alt genug für diese Seite";	  
}	   
echo "<br/><a href=\"./formular.php\">Zum Formular</a>"; 
?>
Am Anfang der Datei kann man erkennen, wie die Werte des Formulars "empfangen" werden. Hierbei werden neue Variablen (fn, ln, age) erzeugt, die im Folgecode dann Verwendung finden. Diese können genauso heißen wie die aus der vorherigen Datei oder auch komplett anders, das bleibt dem Programmierer überlassen. Daraufhin folgt die Anweisung $_POST[] mit dem "alten" Variablennamen. Hier wird dem Interpreter mitgeteilt, dass es sich um eine Variable handelt, die mittels POST übertragen wurde. Anhand des Variablennamens innerhalb der eckigen Klammer kann der Interpreter diese nun richtig zuordnen.

Die im Code folgende Ausgabe der Variablen verdeutlicht noch einmal, dass nun die neuen und nicht die alten Variablennamen verwendet werden.

Die folgende Auswertung der Eingaben beginnt mit einer Überschrift (Auswertung), die mittels dem HTML div-Tag mittig zentriert ist. Das Besondere ist, dass man die Anweisung nicht wie in HTML bekannt normal hinschreiben darf, sondern die doppelten Hochkommatas mit einem Backslash maskieren muss. Dies ist deshalb nötig, da PHP selbst diese als Einleitung von Strings versteht und somit als solche parst. Da es sich aber um reines HTML handelt, ist das natürlich nicht erwünscht und man muss dem Interpreter mitteilen, dass er diese Zeichen ignorieren soll. Dies geschieht durch den Backslash.

Im Anschluss folgen noch ein paar Stringoperationen, die die Eingaben des Formulars analysieren und manipulieren. Das wären "strtoupper()", das alle Buchstaben in Großbuchstaben wandelt, strlen(), dass die Länge des Strings bestimmt und substr(). Substr() gibt nur einen Teil des Strings aus (hier: den 1. Buchstaben) und hat drei Parameter, zum einen den String selbst, den Beginn des auszugebenen Strings (hier: 0, da PHP bei der Zählung des Strings mit 0 beginnt) und die Anzahl der Zeichen ab Beginn. Da wir nur den ersten Buchstaben haben wollen, ist die Länge hier nur 1.

Der Rest besteht nun noch aus einem if-then-else-Block, der ähnlich dem bereits besprochenen funktioniert und einem Link, der zurück auf die Formularseite leitet.
Weiterführende Links
Mit Hilfe dieses Tutorials kann man sicher nicht zum PHP-Profi werden, jedoch hilft es beim Einstieg in die Programmiersprache PHP. Mit Hilfe der Beispiele lässt sich das Grundprinzip nachvollziehen und verstehen. Wie bei jeder anderen Programmiersprache auch gilt auch bei PHP die Weisheit: Learning by Doing. Je mehr man ausprobiert und liest, um so besser wird man und kann irgendwann auch komplexe Webseiten selbst programmieren. PHP genießt durch die kostenlose Verfügbarkeit eine sehr weite Verbreitung. Man findet im Internet etliche Seiten mit Beispielcodes und nahezu jedes Problem wurde schon einmal irgendwie gelöst. Um sich näher mit PHP vertraut zu machen, empfiehlt es sich folgende Links ausführlich zu studieren:

Wikipedia-Artikel zu PHP

PHP-Wiki (Grundlagen)

PHP 4 - Webserver-Programmierung für Einsteiger (Galileo Openbook)

SelfPHP Kochbuch (viele Anwendungsbeispiele)

SelfPHP - PHP Funktionsreferenz

Viel Spaß beim Ausprobieren und Programmieren mit PHP!
Zurück
© Copyright PCFreunde.de
Autor des Artikels
48.697 Punkte
Dieser Artikel wurde bisher
7.610 mal gelesen.
Schreiben des Artikels
(+250 Punkte)
Bitte melde dich an und bewerte diesen Artikel!
25 von 29 Mitgliedern
finden diesen Artikel gut
(+625 Punkte)
Inhaltsverzeichnis
Kommentare
Schreib uns deine Meinung zu diesem Artikel - einfach registrieren und los!
Kommentar schreiben
 
htmlfreak
10.12.2008 14:42
schön beschrieben, ich bin auch grad dabei, mir Eclipse runterzuladen. Ich werd mich demnächst mal näher mit PHP beschäftigen :lol:

Gruß,
htmlfreak.
 
L3oop
10.12.2008 15:38
Jo,

t+ller Artikel, b1n4ry0utl4w!

Vor allem für Einsteiger sehr hilfreich :wink:
 
anko
16.12.2008 09:52
Vielen Dank für den sehr guten Beitrag :-)
 
Alle BeiträgeKommentar schreiben
Community Login
eMail:
Passwort:
Auto-Login