PHP - Die Fortsetzung

Wenn ihr den letzten Teil nicht gelesen habt klickt hier.

Ich werde die Seite in verschiedene Teile gliedern, sortiert nach Themen.
Meine Themen sind:


Variablen

Wir kennen Variablen bereits aus dem Unterricht, daher erkläre ich jetzt nicht im Detail, was Variablen sind.
Ich erklaere nur, wie Variablen in PHP benutzt werden. Bei PHP gibt es z.B. eine Vorgabe fuer den Namen:
Der Name muss naemlich mit einem "$" beginnen (ohne Anfuerungszeichen).
Sie duerfen aber nicht mit "$_" anfangen, da dieser Anfang fuer System-Variablen. Mehr dazu, siehe hier.
Ein Beispiel fuer Variablennutzung:


Bei dieser Gelegenheit habe ich auch gleich das Verbinden von Texten und Variablen gezeigt (siehe Zeile 3).
Es funktioniert folgendermassen:
Ein Text und eine Variable werden durch einen Punkt verbunden. Dies sieht dann so aus:

Passt aber auf, denn so (siehe unten) ist es falsch!!!


Formulare

So dann kommen wir zu den Formularen. Hier muss ich ein bisschen HTML vorwegschieben.
Ein Formular wird mit den Tags und markiert.
auserdem muss in dem oberen Tag definiert werden, an welches Skript die Eingaben geschickt werden.
Das wird zum Beispiel verwendet, wenn du dich einloggen muss und dein Einlog-Skript so gross ist, dass es uebersichtlicher ist, das Skript auf einer seperaten Seite unterzubringen,
in so einem Fall muss geschrieben werden:



Wenn man allerdings ohne externes Skript arbeitet kann man einfach leere Anfuerhungszeichen schreiben.
Des weiteren muss man angeben, welche Methode zum Uebermitteln der Daten genutzt Werden soll.
Davon kenne ich 2:
Methode Das muss in den Tag rein Unterschiede
post method="post" Bei der Formularuebermittlung mit post wird in der URL nichts veraendert
get method="get" Bei der Formularuebermittlung mit get wid an die URL ein "?feldname=formularwert" angehangen

So das war der Anfang und das Ende des Formularbereiches. Jetzt kommt der Inhalt:
Dazu gibt es einen Tag, namens . Dieser hat keinen End-Tag.
Er hat verschiedene Attribute:
Wert Das muss ich schreiben Weitere wichtige Attribute Erklaerung
Text type="text" Um dieses Feld auslesen zu koennen, muss ein Name definiert werden Dieser Wert erzeugt ein Textfeld, in das geschrieben werden kann
Button type=button" Der Inhalt des Buttons wird im Attribut value=INHALT definiert. Um auslesen zu koennen, ob der Button gedrueckt wurde muss man einen Namen definieren. Wenn ein Button gedrueckt wird, wird das Formular automatisch abgeschickt
Radio type="radio" Der definierte Name gibt hier die Radiobuttongroup an, das bedeutet, dass nut ein Radiobutton mit dem gleichen Namen angeklickt sein kann.
Ausserdem gibt es das Attribut value=VALUE, wass beschreibt, welchen Wert die Variable der Radiobuttongroup annehmen soll, wenn der Radiobutton ausgewaehlt ist.
Achtung dieser Tag ist nur der Button ohne Beschriftung, es muss noch ein Name dahinter geschrieben werden.

Bei den meisten Typen muss ein Name definiert werden, was durch name=NAME erfolgen kann.
Vergesst nicht, dass euer Name in Anfuerungszeichen geschrieben werden muss.


So das war jetzt noch mal HTML, jetzt kommen wir aber zum PHP-Teil:

Nach dem Ansenden des Formulars werden die Werte in einem Array gespeichert. Dieser Array heisst entweder $_POST oder $_GET.
Jetzt fragt ihr euch sicher aber, was ist ein Array?
Diese Frage ist einfach beantwortet. Ein Array ist eine Liste, in der mehrere Werte gespeichert werden koennen.
Ein Array mit dem Namen $test wird so abgerufen:
$test[KEY]
Der Key muss in Anfuerungszeichen gesetzt werden.
Die Formulararrays werden also so abgerufen: (ich mache es jetzt mit post)
$_POST[KEY]
Und der jewalige Key ist immer der Name der anzurufenden Feldes (z.B. "benutzername"):
$_POST[FELDNAME]
Bitte beachtet, dass die Namen immer in Anfuerungszeichen gesetzt werden muessen, da es Texte sind!!!
P.S.: Mit der Funktion empty(VARIABLE) koennt ihr pruefen, ob eine Variable leer, 0 oder nicht gesetzt ist.

Kommentare

Kommentare werden meistens benutzt, um Anmerkungen zum Code zu schreiben. Da dies aber sofort zum Fehler fuehren wuerde, benutzt man Kommentare.
Wenn man "/*KOMMENTAR*/" schreibt wird dies beim Ausfuehren nicht beachtet und es erzeugt somit auch keinen Fehler.
Einen solchen Kommentar kann man ueberall einfuegen. Man koennte z.B. schreiben
ec/*Dieser Kommentar ist erlaubt*/ho("Test");
Denn da Kommentare ignoriert werden, kann man sie auch einfach in eine Anweisung schreiben. Es fuktioniert trotzdem.


Mailing

In PHP gibt es eine mail Funktion. Ihr Syntax ist:
mail($EMPFAEGERADDRESSE, $BETREFF, $TEXT, "From: ".$ABSENDER");
Ergaentz die Variablen einfach mit euren Angaben. Anfuehrungszeichen nicht vergessen.
Diese Mail-Funktion ist allerdings ein wenig launisch und gibt haufig eine Fehlermeldung aus.
Indem ihr @mail(usw... schreibt unterdrueckt ihr die Fehlermeldung.
Auserdem gibt die Funktion ein True oder False zurueck. Man kann also in einem if abfragen, ob der Versand geglueckt ist.
Passt auserdem darauf auf, dass ihr Umlaute in ae, oe und ue umwandelt und statt einem scharfen s einfach ss.


Cookies

In diesem Absatz moechte ich euch 2 Funtionen zeigen:
Die setcookie-Funktion und die Time-Funktion.

Fangen wir mit der Time-Funktion an:
Syntax:
time();
Diese Funktion gibt die aktuelle Zeit in Sekunden zurueck.

So dann die zweite Funktion: die setcookie-Funktion:
Syntax:
setcookie($NAME, $WERT);
setcookie($NAME, $WERT, $ABLAUFZEIT);

Der $NAME ist der Cookiename, unter dem er abrufbar ist.
Der $WERT ist der Wert auf den der Cookie gesetzt werden soll.
Die $AUBLAUFZEIT ist die Zeit in Sekunden, wann der Cookie geloescht wird. Dazu kann man die Time-Funktion + 10 z.B. nehmen. Wenn man das schreibt bleibt der Cookie 10 Sekunden da.
Wenn die $ABLAUFZEIT nicht angegeben ist bleibt der Cookie, bis man den Browser geschlossen hat.
Achtung der setcookie-Funktion muss vor dem HTML-Teil stehen!!!


Interaktion mit Datenbanken

Um auf eine Datenbank zugreifen zu koennen, muss man SQL koennen. SQL erklaere ich auf einer anderen Seite, die ich hier verlinke.

So das war es. Ich hoffe ihr habt viel gelernt. Probiert doch einfach mal alles aus.
Hier geht es zum ersten Teil. Und hier koennt iht SQL lernen.