PHP-is-easy.de Online Book - Lernen Sie jetzt PHP!

Mit dem User im Dialog

In Kapitel 1.4 haben wir ja gelernt, wie man in PHP einen Text ausgibt. Da dies aber sehr einseitig ist, wollen wir nun unser erstes interaktives Script schreiben.

Die Eingabeseite (eingabe.html)
<html>
<head>
<title>Mein zweites PHP-Script</title>
</head>
<body>
<form action="eingabe.php" method="post">
<input type="Text" name="eingabe" value="" size="30"><br>
<input type="Submit" name="senden" value="Jetzt will ichs sehen!">
</form>
</body>
</html>


Die Ausgabeseite (eingabe.php)
<?
echo "Sie haben $_POST[eingabe] eingegeben.";
?>

Zur Eingabeseite ist nicht viel zu sagen, da es sich hier um ein reines HTML-Dokument handelt (Infos zu HTML: SelfHTML | Meine-erste-Homepage) nur soviel: Ob in diesem Formular method="post" oder method="get" steht, ist ein großer und wichtiger Unterschied bei der Weiterverarbeitung. Warum ist POST oder GET nun so wichtig? Seit PHP 4.2.0 wird der Sicherheit zuliebe jede Variable je nach Übertagungsart in eine "Gruppe" eingeteilt. Übergibt man die Eingabe des Users aus dem Formular nun mit POST, so kann sie im PHP-Dokument später auch nur über $_POST[VARIABLE] aufgerufen werden. Senden wir die Variable über GET, so kann sie nur mit $_GET[VARIABLE] im PHP-Script aufgerufen werden.

Sie fragen sich vielleicht jetzt, wieso das mehr Sicherheit bieten soll? Ganz einfach: Am Beispiel von unserem Script erläutert. Wir wollen ja, dass der User (Benutzer) über die Eingabeseite seine Eingabe macht und dann die Eingabe mit einem Klick auf "Jetzt will ichs sehen" angezeigt bekommt. Hätten wir nun nicht $_POST[eingabe] im PHP Script stehen (also nur die Eingabe, die zur Gruppe POST gehört), so könnte man unsere Eingabeseite auch umgehen und das Script mit "eingabe.php?eingabe=1234" aufrufen. Bei diesem Script könnte uns das ja noch fast egal sein, doch später, wenn wir z.B. ein Gästebuch schreiben, ist das Abfragen, ob die Variable mit POST übergen wurde, schon ein ganz einfacher Spam-Schutz (1000 und mehr Einträge auf einmal), da die meisten Programme dieser Art auf script.php?variable=123 ansetzen.

Nun noch etwas nicht minder Wichtiges. Der Name zwischen [ und ] ergibt sich aus dem im Formular bei name="" vergebenen Namen.

Hier die in PHP möglichen "Gruppen":
$_POST (via Post übergebene Daten aus Formularen)
$_GET (via Get übergebene Daten aus Formularen)
$_ENV (Umgebungsvariablen)
$_SESSION (Session Daten)
$_COOKIE (Daten aus Cookies)
$_FILES (via Formular hochgeladen Dateien - Webupload)


[ Zurück - Inhalt - Weiter ]

© 2002 by PHP-is-easy.de - Alle Rechte vorbehalten