|
T u t o r i a l
|
|
PHP Tutorial > Kapitel 2: Die Macht von PHP
Antworten zu Fragen aus Kapitel 1:
1. Wie kann ich PHP "ein" und "ausschalten"?
PHP kann man mit "<? ?>", "<?php ?>" oder "<script language="PHP"></script>"
ein- und ausschalten.
2. Was sind Variablen?
In Variablen kann man Zeichenketten, Zahlen, Kommazahlen usw speichern.
3. Wozu sind Kommentare gut?
Damit man sich später im eigenen Code besser auskennt.
4. Was kann man mit IF-Ausdrücken machen?
Werte überprüfen und auf das Ergebnis der Überprüfung reagieren.
5. Was steht am Ende von jedem Befehl?
An jedem Ende eines Befehls der keine Schleife ist kommt ein Semikolon ";".
6. Wie füge ich Zahlen und Text in eine Variable ein?
Eine Zeichenkette fängt an und endet mit Anführungszeichen. Darauf kann ein
Punkt folgen der Werte verbindet. zb.: $variable1 = "text
zahl:".(43+3)."weiterer text";
Die Macht von PHP: Datenübertragung
Wenn Du in Kapitel 1 gut aufgepasst hast, wirst Du bald verstehen wie man
sinnvolle Scripte schreiben kann. Hierbei kommt ein wichtiges Element von HTML
hinzu, das Du wahrscheinlich noch nicht gelernt hast. Formulare. Sie
ermöglichen deinen Besuchern Daten auszuwählen und einzugeben. Im folgenden
Beispiel ist ein einfacher Rechner. Der Benutzer wählt 2 Zahlen, dazwischen den
Rechenoperator (+, -, *, /).
Tutorial_Kapitel2_Beispiel_1.php:
<?php
/* Ein einfacher Rechner Copyright by blabla ... */
// Der Rechner ?> <form method="POST" action="Tutorial_Kapitel2_Beispiel_1.php"> <input type="hidden" name="aktion" value="rechnen"> Eine Rechnung: <input type="text" name="zahl1"> <select name="operatoren"> <option value="plus">+</option> <option value="minus">-</option> <option value="mal">*</option> <option value="dividiert">/</option> </select> <input type="text" name="zahl2"> <input type="submit" value="Los"> </form>
<?php
// Wenn der Benutzer auf den Knopf "Los" gedrückt hat, wird folgender Code ausgeführt.
if($_POST["aktion"] == "rechnen") { echo "Das Ergebnis der Rechnung ".$_POST["zahl1"]." ".$_POST["operatoren"]." ".$_POST["zahl2"]." ist: <b>"; } if($_POST["operatoren"] == "plus") { echo $_POST["zahl1"]+$_POST["zahl2"]; } elseif($_POST["operatoren"] == "minus") { echo $_POST["zahl1"]-$_POST["zahl2"]; } elseif($_POST["operatoren"] == "mal") { echo $_POST["zahl1"]*$_POST["zahl2"]; } elseif($_POST["operatoren"] == "dividiert") { echo $_POST["zahl1"]/$_POST["zahl2"]; } echo "</b>";
?>
|
Was hier im Endeffekt passiert wirst du am Besten
verstehen, wenn du das Beispiel einfach ausprobierst.
Wie benutzt man nun Formulare? Ein Formular wird durch den HTML Tag <form>
eingeleitet und schließt sich mit </form>. Form hat wichtige Parameter wie
method="POST" / method="GET" und action="datei.php". Innerhalb von <form> kannst
du beliebigen HTML Code einfügen, und natürlich auch Formularfelder. Mit dem <input>
Tag kannst du Checkboxen, Textfelder und versteckte Felder, die eigentlich nur
als Variable gefüllt werden, machen. Um eine Dropdown-Liste zu machen, benutzt
du den <select></select> Tag, in welchen du weitere <option>Option</option> Tags
einbaust. Klingt kompliziert, ist es aber nicht. Probiere es unbedingt selber
aus. Wenn du den <input> und <select> Tags den Attribut name="FELD1" gibst dann
wird PHP beim Empfangen des Formulars wissen, dass es $_POST["FELD1"], wenn du
bei <form method="POST"> benutzt. Bei method="GET" benutzt du $_GET["FELD1"].
Darauf greifen wir jedoch später zurück.
In diesem Beispiel siehst du übrigens auch, dass man PHP so oft öffnen und
schließen kann wie man will und wo man dies braucht.
Was ein Formular nun macht: Es schickt Daten an ein PHP Script. Das PHP Script
wertet diese beim Aufruf aus und gibt ein Ergebnis zurück. Das ist im Großen und
Ganzen eine Datenübertragung.
Wert herausfinden
Tutorial_Kapitel2_Beispiel_2.php:
<?php
// Ein Benutzer klickt eine Checkbox an und sendet das Formular ab: ?> <form method="POST" action="Tutorial_Kapitel2_Beispiel_2.php"> Eine Cola: <input type="checkbox" name="cola" value="1">
Eine Limonade: <input type="checkbox" name="limo" value="1">
<input type="submit" value="Bestellen!"> </form>
<?php
// Eine Cola oder eine Limo?
// Wir schreiben 1 ohne Anführungszeichen weil es eine Zahl ist. if($_POST["cola"] == 1 && $_POST["limo"] == 1) { echo "Du hast eine Cola und eine Limo bestellt! "; } elseif($_POST["cola"] == 1 || $_POST["limo"] == 1) { echo "Du hast eine Cola oder eine Limo bestellt! "; } else { echo "Du hast gar nichts bestellt! "; }
?>
|
Hast du durst? Probiere dieses Beispiel aus und sehe wie das Script
reagiert.
Arrays
Was ist nun eigentlich $_POST für eine Variable? Sie hat eckige Klammern? Eine
Variable, die eckige Klammern hat, nennt man Array (sprich errej). Array ist ein
weiterer Datentyp, den eine Variable speichern kann. PHP setzt Werte für $_POST
und $_GET automatisch beim Aufruf ein. Über $_GET lernst du etwas später einige
interessante Dinge.
Zur Definition: Ein Array ist eine Variable die fast unendlich viele
Werte aufnehmen kann.
Das Besondere an Arrays ist, dass der Wert in den Klammern (zum Beispiel
$variable1["wert1"]) aussagt, was die Variable zurückgeben soll.
Wenn Du nun versuchst ein Array mit dem Echo-Befehl auszugeben und auf die
Klammern vergisst, wird PHP das Wort "Array" zurückgeben anstatt dem Wert den du
willst. Das folgende, sehr einfache Beispiel hilft dir zu verstehen, wie du
Arrays einsetzen kannst:
Tutorial_Kapitel2_Beispiel_3.php:
<?php
// Arraybeispiel:
$meinevariable1["kuh"] = "muh"; $meinevariable1["schaf"] = "meeh";
$meinevariable2[0] = "erster wert dieses arrays"; $meinevariable2[1] = "zweiter wert dieses arrays";
$meinevariable3[] = "erster wert dieses arrays"; $meinevariable3[] = "zweiter wert dieses arrays";
echo "Was macht die Kuh? ".$meinevariable1["kuh"]; // Muh echo "Was macht das Schaf? ".$meinevariable1["schaf"]; // Meeh
echo "Welcher Wert ist 0 der Variable meinevariable2? ".$meinevariable2[0]; echo "Welcher Wert ist 1 der Variable meinevariable2? ".$meinevariable2[1];
//echo "Welcher Wert ist 0 der Variable meinevariable3? ".$meinevariable3[]; < SO NICHT echo "Welcher Wert ist 0 der Variable meinevariable3? ".$meinevariable3[0]; echo "Welcher Wert ist 1 der Variable meinevariable3? ".$meinevariable3[1];
?>
|
Wenn Du versuchst, ein Array auszugeben und keinen Wert in den Klammern
sondern nur Klammern angibst, bekommst Du einen Fehler. Jedoch zählt PHP den
Wert zwischen den Klammern beim deklarieren der Variable für dich, wie Du es bei
$meinevariable3 siehst.
Der Vorteil von Arrays ist, dass der Wert zwischen den Klammern auch durch eine
Variable eingefügt werden kann:
Zum Beispiel:
Tutorial_Kapitel2_Beispiel_4.php:
<?php
$wert = "kuh";
$array1[$wert] = "muh";
echo "Was macht die Kuh? ".$array1[$wert];
echo " ";
// oder
echo "Was macht die Kuh? ".$array1["kuh"];
?>
|
Fragen zu diesem Kapitel:
1. Was ist ein Formular
2. Was ist ein Array
Antworten in Kapitel 3
Alle Beispiele von Kapitel 2
|
|
|