Bleibe mal hier im Forum, lässt sich hier besser darstellen als in einer PN und wenn ich jetzt poste, weiß keiner warum. Es gibt unterschiedliche Möglichkeiten, einige verwenden gern die Funktion strip_tags. Ich schreibe es lieber so, wobei es dann je nach Aufgabe angepasst werden muss. Bei Deinem Vorhaben könnte es etwa so aussehen und alles Wesentliche geht denke ich aus den Kommentaren hervor.
PHP
<?php
// Variablen bekanntmachen und mit einem Anfangswert belegen
$id = false;
$to = false;
/* Moegliche Werte fuer den Parameter to durch
Komma getrennt notieren, Groß- und Kleinschreibung
beachten
*/
$to_arr = array('Winterland',
'Sommerland',
'Morgenland',
'Abendland',
'Schlaraffenland'
);
/* Pruefe, ob der Parameter id übergeben wurde und
einen Wert enthält
*/
if (isset($_GET['id']) and !empty($_GET['id'])) {
$id = $_GET['id'];
// Entferne alles außer Ziffern
$id = preg_replace("/[^0-9]/", "", $id);
}
/* Pruefe, ob der Parameter to übergeben wurde und
einen Wert enthält
*/
if (isset($_GET['to']) and !empty($_GET['to'])) {
$to = $_GET['to'];
/* Entferne alles außer Buchstaben (ohne
Umlaute), Unterstriche und Bindestriche
*/
$to = preg_replace("/[^a-zA-Z_-]/", "", $to);
// Pruefe ob Wert fuer to im Array enthalten ist
if (in_array($to, $to_arr, true) == false) {
/* Falls der Wert fuer to nicht im Array
enthalten ist, so to auf false setzen
oder einen Ersatzwert zuweisen oder
exit verwenden
*/
$to = false;
}
}
?>
Alles anzeigen
Ließe sich noch alles in eine Funktion packen, doch das braucht nicht unbedingt zu sein bei einfachen Listings.