Jo: GET-Variable erkennen

Hallo,

über diverse URL-Parameter erhalte ich für ein PHP-skript meine Variablen die in der Rheihenfolge variieren können:

meinscript.php?var2=test&var3=west&var1=testthewest

So fange ich diese Daten auf:
$var1 = htmlspecialchars($_GET["var1"]);
$var2 = htmlspecialchars($_GET["var2"]);
$var3 = htmlspecialchars($_GET["var3"]);

Sobald eine Dieser Variablen in der Groß-/ Kleinschreibung Unterschiede aufweist hab ich ein Problem, da die Variable nicht mehr erkannt wird z.B.

meinscript.php?var2=test&Var3=west&VAR1=testthewest

var3  und var1 werden nicht erkannt, da Großbuchstaben drin sind.

Was schafft hier Abhilfe? Funktionen wie strtolower() kann ich ja nicht auf den Variablennamen anwenden, oder doch?

Danke für jeden Hint,
Jo

  1. Mahlzeit Jo,

    So fange ich diese Daten auf:
    $var1 = htmlspecialchars($_GET["var1"]);
    $var2 = htmlspecialchars($_GET["var2"]);
    $var3 = htmlspecialchars($_GET["var3"]);

    Was meinst Du mit "auffangen"? Wieso dieses sinnlose Umkopieren? Und warum maskierst Du die Inhalte der Variablen als HTML? Willst Du sie direkt anschließend an den Browser ausgeben? Verwende Funktionen zur kontextgerechten Behandlung von Variableninhalten vernünftig - nämlich kontextabhängig ... nicht einfach wild drauflos!

    meinscript.php?var2=test&Var3=west&VAR1=testthewest

    var3  und var1 werden nicht erkannt, da Großbuchstaben drin sind.

    Falsch. Die per GET übertragenen Parameter var1 und var3 sind schlicht nicht vorhanden.

    Was schafft hier Abhilfe?

    Baue saubere Links zusammen, so dass sie genau die erwarteten Werte in genau der erwarteten Form übergeben.

    Funktionen wie strtolower() kann ich ja nicht auf den Variablennamen anwenden, oder doch?

    Natürlich. Da es sich bei $_GET um ein einfaches assoziatives Array handelt, könntest Du mittels einer geeigneten Schleife durch dieses Array durchlaufen. Bei jedem Arrayelement könntest Du prüfen, ob der "kleingemachte" Schlüsselwert demjenigen entspricht, den Du erwartest. Wenn ja, übernimmst Du den Datenwert in die gewünschte lokale Variable.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|