phpbar.de logo

Mailinglisten-Archive

[php] request-uri too large

[php] request-uri too large

Bruckner, Sebastian Sebastian.Bruckner at eon-is.com
Di Feb 2 09:33:12 CET 2010


Hi Bernd,

vor dem gleichen Problem stand ich auch mal.

Das Problem: Der IE hat eine maximal Länge für Requests von 2048 Zeichen.

Hier ein kurzer Auszug aus den Referenzen:

---
Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs
---

Was nun machen? Klar kann man für jede Checkbox ein eigenes Ajax-Request aufmachen was aber zu massivem Overhead führt wenn man jedes mal ein neues Request aufmacht und somit die Performance darunter leidet.

Besser: Immer eine festgelegte Anzahl (z.b. 40) Ids auf einmal an den Server schicken, dort mit einer eindeutigen zuordnungsbaren "Vorgangs"-ID (z.B. abcZUFALLSZAHL) in ein Session Array zwischenspeichern.

Wenn alle Ids übertragen das eigentliche Skript aufrufen und durch die zuvor festgelegte Vorgangs-ID hat man nun alle Daten im Session-Array vorhanden.

Grüße,
Sebastian
-----Ursprüngliche Nachricht-----
> Am 01.02.2010 16:46, schrieb Bernd Schulz:
>> Hallo zusammen,
>>
>> brauche da mal Unterstützung.
>> In einer Tabelle werden hunderte Datensätze ausgegeben, jeder Satz hat 
>> eine check-Box(per default aktiviert). Jetzt kann man bestimmte Sätze 
>> abwählen und die aktivierten werden an die nächste Seite übergeben. Es 
>> wird nur der check-Box Name (in diesem Fall c) und als Value die ID 
>> übergeben.
>>
>> <form action="select.php" method="POST">
>> <table width="95%" cellpadding="5" cellspacing="5">
>> 	<!-- BEGIN DYNAMIC BLOCK: row -->
>> 	<tr>
>> 		<td>{NAME}</td>
>> 		<td>{VNAME}</td>
>> 		<td>{STRASSE}</td>
>> 		<td>{PLZ}</td>
>> 		<td>{ORT}</td>
>> 		<td>{VERSBESCH}</td>
>> 		<td><INPUT type="checkbox" checked name="c[]" value="{NR}"></td>
>> 	</tr>
>> 	<!-- END DYNAMIC BLOCK: row -->
>> ....
>>
>> select.php?check=370&check=371&check=372.............
>> Das Ganze läuft beim Kunden auf einem 1und1-Paket. Die Servermeldung 
>> lautet wie im Betreff.
>> Welche Möglichkeit gibt es noch, die Daten zu übergeben?
>> Komme da nicht weiter.
>>
>> Gruß Bernd
> 

-- 
** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
Informationen: http://www.phpbar.de
http://lists.phpbar.de/mailman/listinfo/php

php::bar PHP Wiki   -   Listenarchive