Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Nur bestimmte Variablen zulassen





Frage

Hallo, für meinen Seitenaufbau nutze ich PHP. Die Sprachauswahl des Inhaltes lässt sich mittels der Variablen $lang bestimmen. Beispiel-Inhalt: de-workshops.php en-workshops.php Um den Inhalt aufzurufen, gehe ich so vor: www.domain.de/index.php?page=workshops&lang=de Das Problem ist, dass man anstelle des "de" oder "en" jede x-beliebige Buchstabemkombinaton eingeben kann und sich daher indirekt prüfen lässt, welche Dateien es auf dem Server gibt und welche nicht. Der jetzige Code sieht so aus: [code] <?php if ( !isset($page) ) { $page = "home"; } if ( !isset($lang) ) { $lang = "de"; } ?> [/code] Es wird mit include(); also anhand der Variablen der Inhalt in die Hauptseite geladen. Das Problem ist, dass sich indirekt Rückschlüsse daraus ziehen lassen, welche Dateien auf dem Server vorhanden sind und welche nicht. Nun möchte ich das Eingeben einer x-beliebigen Variablen schon im PHP-Code abfangen, bevor es überhaupt dazu kommt, dass eine nicht-vorhandene oder noch nicht öffentliche Datei auf dem Server gesucht und ggf. "includiert" wird. Bei der Variable $lang möchte ich zum Beispiel nur die Werte "de" und "en" zulassen. Welche Möglichkeiten bei meinem obigen Code gibt es in PHP4? Danke.

Antwort 1 von rabies

Hi,

Wie wäre es mit
if ($lang == "de" | $lang == "en")
?

--rabies.

Antwort 2 von ClemBra

Wenn die liste länger wird:

$allowedlang = array("de","en","fr");
if (empty($_GET[´lang´] || !in_array($_GET[´lang´], $allowedlang)) $lang = "de";

Nebenbei sollte auf globale Variablen verzichtet werden und die superglobalen Arrays (z.B. $_GET, $_SERVER, $_POST, $_COOKIE, $_SESSION)benutzt werden (wie in meinem Beispiel)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: