rob: Kompletten REQUEST ausgeben

Beitrag lesen

Hi!

Du erwartest, daß bei a=b&a=c die Hälfte unterschlagen wird, bei a[]=b&a[]=c dagegen nicht? Warum?

Wenn ich einer Variablen einen Wert zuweise und dieser dann nochmal einen Wert zuweise, dann erwarte ich, daß überschrieben wird.
Wenn ich ein Array einsetze, dann erwarte ich, daß das nächste Array-Element angelegt und befüllt wird.

Bei Perl stehen alle Werte zur Verfügung über die normalerweise für den Parameterzugriff verwendete CGI::param($name);

Auch bei PHP stehen alle Werte zur Verfügung, wenn man $_SERVER['QUERY_STRING'] einsetzt. In $_GET wird das entsprechende Element dann überschrieben.
Aus meiner Sicht, ist das aber kein Problem, weil ich die Sache dementsprechend angehe.
Und ja, es stimmt. Den gleichen Namen zu vergeben, ergibt in einigen Fällen einen Sinn. Da hatte ich so gar nicht dran gedacht.
Wenn man nämlich, wie erwähnt, beispielsweise mit Checkboxen (oder anderem) arbeitet, vergibt man den gleichen Namen.
Dann setze ich allerdings ein Array anstelle einer normalen Variable ein.
Wenn man das so macht:
<input type="checkbox" name="irgendwas[]">
gibt es mit PHP auch wieder keine Probleme.

Mit verschiedenen Sprachen muß man einige Dinge halt ein wenig anders angehen. Das muß man natürlich wissen.
Ich finde das Verhalten von PHP in diesem Fall OK und würde mir nicht wünschen, daß es anders wäre.
Bisher hat das für mich noch nie zu einem Problem geführt.

Schöner Gruß,
rob