Mit DropDown-Menü 2 Variablen übergeben

Status
Nicht offen für weitere Antworten.

g-zus

Erfahrenes Mitglied
Hi Leute,

hab ein kleines Problem, das ich nicht gelöst bekomme, mit der Suche hab ich nix passendes gefunden.

Also:

Ich habe ein Formular in dem ein DropDown-Menü ist, welches beim anklicken dann sofort das Formular abschickt:

PHP:
<form name="kategorien" method="get" action="index.php">

<input type="hidden" name="time" value="<?php echo $sitzung; ?>">
<input type="hidden" name="seite" value="produkte">

<select name="rubrik1" onChange="this.form.submit();">
	<option value="Rubrikname">Rubrikname</option>
</select>

</form>

Das ganze funktioniert auch prima, bis halt auf das Problem, dass z.B. Umlaute wie "ü" dann als "%FC" übergeben werden, z.B. wird dann aus der Url

Code:
index.php?time=1138448047&seite=produkte&rubrik1=Kühe

das hier:

Code:
index.php?time=1138448047&seite=produkte&rubrik1=K%FChe

Das macht aber gar nichts, mein Script kann die Variable trotzdem verarbeiten.

Da das ganze für einen Shop ist (konnte man sich wohl denken) haben die Rubriken auch Unterrubriken.
Das wird ganz einfach so gehandelt, dass dann noch eine zweite Variable "rubrik2" dazu kommt die den Namen der Unterrubrik angeben soll.

Mein DropDown-Menü hätte ich nun gerne so:

PHP:
<select name="rubrik1" onChange="this.form.submit();">
	<option value="Rubrikname">Rubrikname</option>
	<option value="Rubrikname&rubrik2=Unterrubrik">-Unterrubrik</option>
</select>

Die HTML-Code Ausgabe funktioniert hier prima, aber wenn das Formular diese Variable aus dem DropDown-Menü dann verschickt haut das ganze nicht mehr hin.

Aus dem gewünschten

Code:
index.php?time=1138448047&seite=produkte&rubrik1=Kühe&rubrik2=Unterrubrik

macht das Formular wenn es abgeschickt wird

Code:
index.php?time=1138448047&seite=produkte&rubrik1=Kühe%26rubrik2%3DUnterrubrik

Es verwandelt also die Sonderzeichen "&" und "=" auch in (ich glaube) ASCII-Zeichen um, wodurch dann der gewünschte Effekt, dass eben auch Zwei Variablen übergeben werden sollen nicht mehr hinhaut.

Gibts hierfür irgendne Lösung?
Bin für jede hilfe dankbar...
 
Das von dir beschrieben Verhalten ist legitim, da alle Nicht-ASCII-Zeichen und alle Zeichen, die in der URL-Syntax eine besondere Bedeutung haben, kodiert werden müssen.
Du könntest jedoch die Parameter in einer anderen Form übergeben und erst serverseitig auflösen, wie etwa „Kategorie/Unterkategorie“.
 
mensch bin ich ein Trottel, natürlich!
müsste dazu nicht mal eine Extra Übergabeform "erfinden" sondern könnte mich ganz einfach an den ASCII-Zeichen orientieren und an den entsprechenden Stellen einfach das ganze in die beiden benötigten Variablen trennen.

Danke für den Tipp, hab wohl grad ne Blockade gehabt....
 
Status
Nicht offen für weitere Antworten.
Zurück