Hallo
if (isset($_GET['preview'])) {
readfile("../home/test/".$_GET['preview'].".txt");
echo "Die GET-Variable 'preview' wurde gefunden und hat den Wert '".$_GET['preview']."'.";}
else {
echo "Es wurde keine GET-Variable angegeben.";}?>
>
> Ist das soweit in ordnung?
geht schon mal in die richtige Richtung.
> habe ich was vergessen ...
Außer der Beachtung der Groß- und Kleinschreibung? ;-)
> ... und was sollte ich verbessern?...
Die Sicherheit des Codes sollte dir ein paar Änderungen wert sein. In `$_GET["preview"]`{:.language-php} steht ein Name, zu dem es eine gleichnamige Textdatei geben sollte. Aber was ist, wenn da was anderes, unerwartetes drin steht? Es wäre zu prüfen, ob die zu laden gewünschte Datei existiert. Dazu solltest du nach der Prüfung, ob `$_GET["preview"]`{:.language-php} gesetzt ist, den hypothetischen (noch weißt du nicht, ob es die gleichnamige Datei gibt) Pfad zusammensetzen und auf die Existenz der Datei prüfen.
Zudem könnte `$_GET["preview"]`{:.language-php} zwar gesetzt, aber leer sein (http://example.com?preview=). Mit `!empty()`{:.language-php} erschlägst du gleichzeitig die Prüfung auf "Nicht leer" (Das Ausrufezeichen kehrt die Funktion der Funktion um) und damit mittelbar die Prüfung auf die Existenz.
~~~php
if (!empty($_GET['preview'])) {
$pfad = "../home/test/".$_GET['preview'].".txt";
if (file_exists($pfad)) {
readfile($pfad);
}
// evtl. weiterer Code
}
Tschö, Auge