![]() Technikerschule Nördlingen |
Programmierung dynamischer Internetseiten
|
![]() |
Variablen per Formular schicken Ein Weg, Variablen an ein PHP-Script zu übergeben, ist die Eingabe über ein Formular. Alle Formularobjekte wie Textfelder, Checkboxes, Radiobuttons und auch der Submit-Knopf haben ein "NAME"-Attribut. Ist eine Eingabe erfolgt, gibt es auch einen dazugehörigen Wert. Sobald ein Formular Inhalt an das PHP-Script übergibt wird ein Arry (Werteliste) mit dem Namen $HTTP_POST_VARS erzeugt. Die übermittelten Werte aus dem Formular konnen wie folgt referenziert werden: $HTTP_POST_VARS ["formularfeldname"]. In neueren PHP-Versionen wird ausschließlich die Kurzform $_POST["formularfeldname"]
Wichtig ist, dass sie als Methode "POST" verwenden. Variablen als URL-Anhang schicken Variablen können auch mit der GET-Methode an eine URL angehängt werden. In disem Fall wir ein Array mit dem Namen $HTTP_GET_VARS (kurz $_GET) gebildet
Bei dieser Methode ist nicht nur die Länge der übermittelten Daten beschränkt, sondern es dürfen auch keine Whitespaces oder Leerzeichen enthalten sein. Wollen Sie einen ganzen Satz übermitteln, müssen vorher alle nicht alphanumerischen Zeichen in Hexadezimalcode und Leerzeichen in +Zeichen umgewandelt werden. Aber in PHP gibt es dafür eine Funktion.
Eindimensionale Arrays Schon bei manchen Formularen bekommen wir Probleme, wenn etwa bei Checkboxen mehrere Auswahlboxen markiert werden können und eine Variable damit mehrere Werte enthalten kann. Erst recht bei den später behandelten Datenbankabfragen haben wir es mit komplexen Datenstrukturen zu tun, die sich nicht einfach in einem eindimensionalen String abbilden lassen. Auch in PHP gibt es deshalb Arrays. Text und Beispiele sind dem PHP-Handbuch entnommen. PHP unterstützt sowohl skalare als auch assoziative Arrays. Letztendlich gibt es keinen Unterschied zwischen den beiden. Sie können ein Array erzeugen, indem sie die list() oder array() Funktionen benutzen, oder sie können explizit den Wert eines jeden Array-Elements festlegen.
Sie können ein Array auch erzeugen, indem sie einfach Werte einem Array hinzu fügen. Wenn sie einer Array-Variablen einen Wert weisen, indem sie leere Klammern benutzen, wird der Wert am Ende des Arrays hinzugefügt. Das obige Beispiel können wir so fortsezen.
Arrays können durch Gebrauch der asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), und uksort()-Funktionen sortiert werden (in Abhängigkeit von der gewünschten Sortierung). Sie können die Anzahl der Elemente eines Arrays mittels der count()-Funktion ermitteln. Durchlaufen können sie ein Array per next() und prev()-Funktion. Eine weiter Möglichkeit ist die Funktion each(). Mehrdimensionale ArraysMehrdimensionale Arrays sind einfach. Für jede Dimension des Arrays fügen sie einen anderen [key]-Wert ans Ende an:
In PHP ist es nicht möglich, mehrdimensionale Arrays direkt in Strings zu referenzieren. Deshalb erzeugt auch das nachfolgende Beispiel nicht das gewünschte Ergebnis:
In PHP wird das o.a. Beispiel folgendes ausgeben: Dies funktioniert nicht: Array[bar] . Jedoch kann der String-Verbindungs-Operator benutzt werden, dies zu umgehen:
In PHP4 kann das Problem umgangen werden, indem die Array-Referenz in geschweiften Klammern eingeschlossen wird:
Man kann multi-dimensionale Arrays auf viele Arten füllen, aber der trickreichste Weg geht über das Verständnis, wie der array()-Befehl für assoziative Arrays zu benutzen ist. Die folgenden Code-Schnippsel füllen das ein-dimensionale Array über den gleichen Weg:
Die array()-Funktion kann eingefügt werden für mehrdimensionale Arrays:
Machen Sie sich im Übungsteil 2 mit Formularen, deren Auswertung und Arrays vertraut |
||||||||||||||||||||||||||||
|