In der Datenbank befinden sich derzeit 477 Specials. Alle Specials anzeigen... |
Übermittlungsfragen | |
Übermittlungsfragen
<html> <head> <title>Beispiel-Skript</title> </head> <body> <!-- Das Formular --> <form action="get"> Username: <input type="text" name="name"><br> Passwort: <input type="text" name="passwort"><br> <input type="submit" value="Abschicken"> </form> <!-- PHP zur Auswertung --> <?php // gebe die eingegebenen Daten aus echo "Username: " . $_GET['name']; echo "Passwort: " . $_GET['passwort']; ?> </body> </html> Da dies das erste komplette Beispielskript ist, will ich hier noch mal den Ablauf erlätern: Der PHP-Teil wird jedesmal ausgewertet, wenn die Datei im Browser aufgerufen wird. Da aber die Variablen beim ersten Durchlauf noch nicht belegt sind, ist die Ausgabe nach dem Formular einfach Username: Passwort: Da im form-Tag kein action-Attribut angegeben ist, werden die eingegebenen Daten an das Skript selbst geschickt. Das bedeutet, das Skript wird ein zweites Mal aufgerufen, jetzt mit den eingegebenen Werten in $_GET. Die Ausgabe ist also etwas wie Username: Henning Passwort: 12345
Um zu verhindern, daß jedesmal Formular und die Ausgabe des PHP-Teils auftauchen, gibt es mehrere
Möglichkeiten: Ihr könnt den PHP-Teil in eine eigene Datei schreiben und die dann im form-Tag
per action-Attribut aufrufen. Wenn dieses Formular dann übertragen wird, wird Euer PHP-Skript
vom Server abgerufen, mit den eingebenen Werten in $_GET.
meinSkript.php?variable=wert&variable2=wert2 Wenn Ihr jetzt eine interne Variable $ist_eingeloggt verwendet, um irgendwelche Zugriffsrechte zu kontrollieren, konnte (in der alten Version) der User die Variable ganz einfach beliebig setzen meinSkript.php?ist_eingeloggt=1
Und schon kommt jeder User auch ohne Passwort auf Eure Seite, weil die übergebene Variable
$ist_eingeloggt einfach «Eure» $ist_eingeloggt überschreibt. Nach der neuen Methode
landet der Wert des Users erst mal in $_GET, wo er keinen Schaden anrichten kann.
<html> <head> <title>Meine Urlaubsfotos</title> </head> <body> <h1>Meine Urlaubsfotos</h1> <?php // wenn ohne Wert für $bild aufgerufen, nehme $bild=0 an if (!isset($bild)) $bild = 0; // behandele zu große und zu kleine Werte von $bild if ($bild < 0) $bild = 0; if ($bild > 25) $bild = 25; ?> <!-- Der img-Tag mit dem gewählten Bild --> <img src="pictures/urlaub/pic<?php echo $bild ?>"> <br> <!-- Die Links zum vorherigen und dem nachfolgenden Bild --> <a href="picbrowser.php?bild=<?php $b = $bild - 1; echo $b ?>"> Vorheriges Bild </a><br> <a href="picbrowser.php?bild=<?php $b = $bild + 1; echo $b ?>"> Nächstes Bild </a> </body> </html> Dieses Beispiel soll Euch verschiedenes zeigen. Zum einen könnt Ihr in einer Datei mehrere PHP-Bereiche benutzen, jeweils mit <?php und ?> begrenzt. Zum anderen könnt Ihr den HTML- und den PHP-Code sehr eng verknüpfen, wie Ihr beispielsweise an dieser Zeile seht <img src="pictures/urlaub/pic<?php echo $bild ?>"> Der PHP-Abschnitt steht hier mitten im src-Attribut. Bei der Auswertung wird dort einfach der aktuelle Wert von $bild ausgegeben, so daß etwas wie <img src="pictures/urlaub/pic15"> herauskommt. Das gleiche Prinzip wird bei den a-Tags für die Links benutzt. |
Special vom: | 16.01.2003 |
Autor dieses Specials: | Henning Kockerbeck |
Die weiteren Unterseiten dieses Specials: | |
Die reine Lehre - HTML | |
Stilvoll - CSS | |
Kleiner Grundkurs Programmieren | |
Jetzt wird's dynamisch - JavaScript | |
Die andere Seite der Dynamik - PHP | |
Neue Gefilde - XML | |
Weiterführende Links | |
Zurück zur Hauptseite des Specials |