Array in GET

blade runner

Mitglied
Hallo ich habe folgendes Problem, ich möchte eine Array von Checkboxen in ein GET Formular packen.
Code:
<form method="get" action="index.php">
  <input type="checkbox" name="parameter[1]" value="1">parameter 1<br />
  <input type="checkbox" name="parameter[2]" value="1">parameter 3<br />
  <input type="checkbox" name="parameter[3]" value="1">parameter 3<br />
  ...
</form>
Die URL, die dann im Browser steht sieht dann folgendermaßen aus:
index.php?parameter%5B1%5D%=1&parameter%5B2%5D%=1
Finde ich voll häßlich.
Gibt es irgendeine Möglichkeit, dass die URL Menschenlesbar wird?
Ungefähr so:
index.php?parameter[1]=1&paramete[2]=1
 
Die Zeichen [ und ] sind an der Stelle in der URL nicht erlaubt und müssen daher kodiert werden.
Dir bleibt also um die Lesbarkeit für Menschen zu gewährleisten wohl nichts anderes übrig als ein anderes Format zu wählen. Du könntest beispielsweise param:n wählen, musst die Daten dann aber serverseitig selber wieder zu einem Array zusammenfassen.
 
Jo, Danke für die schnelle Antwort.
So wie es aussieht muss ich das sowieso machen, da mod_regex nur 9 Parameter kann (gerade festgestellt. Ich muss den Spass natürlich auch als normalen Link haben.).
So kann ich zwei Fliegen mit einer Klappe schlagen.;-)

Wird aber ein wenig umfangreicher, parameter ist bei mir Mehrdimensional.

Obwohl irgendwie hat das W3c das IMHO unlogisch gemacht...
Die lassen in einen Formular die Zeichen zu, aber nicht in der URL.

PS: Wie ist das eigentlich mit Doppelten Content, wenn einmal keine SEO-URL's (per Fromular) und einmal normale SEO-URL's (generiert) kommen.
 
Zuletzt bearbeitet:
Es war eher PHP, die diese Schreibweise wohl in Anlehnung an die Array-Schreibweise gewählt hat. Die HTML-, HTTP- oder URL/URI-Spezifikationen (worauf du wohl mit W3C anspielst) machen dazu keine Vorgabe.
 
@gumbo: Ja, habe dazu nichts gefunden.
@zodiac: Das das funktioniert steht außer Frage.
Die Url, die dann zu sehen ist, ist nur
.... häßlich...
weil bei einen Formular diese Sonderzeichen wieder mit 'richtigen' Zeichenkombinationen ersetzt werden.

Mache mir halt immer noch ein wenig Sorgen wegen doppelten Content. Da laut diversen News demnächst auch Formulare gecrawlt werden.
Und eine Checkbox auszufüllen ist halt leichter als ein Freitextfeld.
 
Nun ja, meine Lösung ist, dass ich das Formular per POST übergebe.
Dann das Array aufbereite zu einen String.
Dann ein Redirect mit diesen String als Parameter mache und diesen dann wieder zu einen Array umwandle.:suspekt:
Ein wenig umständlich, aber so sind die URL's immer gleich und man kann das ausgefüllte Formular schön in die Favoriten machen.
 

Neue Beiträge

Zurück