Veröffentlicht 6. Dezember 200519 j Hi zusammen, möchte in PHP per Link und HTTP_GET ein Array an ein anderes Skript übergeben. Mache es über explode() / implode(). Das funktionierte BISHER auch immer... nur jetzt ist mir aufgefallen, dass es sowohl Browser-speziell als auch auf dem Webserver selber Einschränkungen gibt, wie lang eine URL sein kann. Und wenn ich nun per implode() einen sehr langen String übergebe (z.B. ein Array mit 100 Werten), dann geht das nicht mehr. Welche anderen Wege gibt es?!
6. Dezember 200519 j Du kannst die Daten per POST übergeben, dann ist die Längenbeschränkung wohl weniger das Problem Oder du speicherst es in einer Session (mit serialize dann aber)
6. Dezember 200519 j POST geht leider nicht in diesem Falle.Dann gibt es ekeinen anderen Weg - denn genau für diesen Fall (viele oder längere Parameterwerte zu übergeben) gibt es die POST Methode. Denn wenn du dir die Doku zu manch einem Browser ansiehst findest du z.B. folgendes: Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters, with a maximum path length of 2,048 characters. This limit applies to both POST and GET request URLs. If you are using the GET method, you are limited to a maximum of 2,048 characters (minus the number of characters in the actual path, of course). POST, however, is not limited by the size of the URL for submitting name/value pairs, because they are transferred in the header and not the URL.
6. Dezember 200519 j Aber wenn ich per Link übergebe ist das doch immer n GET... ?! Wie soll ich aus <a href="index.php?value=bla">Link</a> n POST machen?!
6. Dezember 200519 j Aber wenn ich per Link übergebe ist das doch immer n GET... ?! Wie soll ich aus <a href="index.php?value=bla">Link</a> n POST machen?!Gar nicht. Als erstes solltest du dich generell mit dem HTTP Protokoll beschäftigen. Was ist ein Request, welche Request-Typen gibt es, und wie wird vom Browser ein Request erzeugt. Danach wird dir einiges klarer sein.
6. Dezember 200519 j du kannst den inhalt einfach in ein formular packen. das formular muss dann eben als methode "post" sein (sollte hinzubekommen sein, ansonsten SelfHTML) das formular kannste dann mit javascript abschicken. -> form.submit() ist dein freund in deinem fall wäre dass dann: <a href="javascript: self.document.<FORMULARNAME>.submit();">TextZumLink</a> hoffe ich konnte dir weiterhelfen Greetz, Alex
7. Dezember 200519 j Aber wenn ich per Link übergebe ist das doch immer n GET... ?! Wie soll ich aus <a href="index.php?value=bla">Link</a> n POST machen?! Die Frage ist vielleicht eher: Musst du die Werte hier so übergeben, oder gibt es da nicht andere Möglichkeiten? Kommt ja da auf deine Seite drauf an, aber es gibt immer mehr als eine Lösung... und deine GET Lösung ist nunmal nicht die beste
8. Dezember 200519 j Gar nicht. Das habe ich auch schon festgestellt, deshalb habe ich es ja auch geschrieben auf Antwort auf deinen Post, ich solle es per POST machen... Als erstes solltest du dich generell mit dem HTTP Protokoll beschäftigen. Was ist ein Request, welche Request-Typen gibt es, und wie wird vom Browser ein Request erzeugt. Danach wird dir einiges klarer sein. Ich glaube das brauche ich nicht, dass ist mir schon klar und ich habe mich damit schon ausführlich beschäftigt. Nur ich bin bisher noch nie an die Parameterlängenbegrenzung eines GETs gestoßen und wollte mir hier Ideen/Anregungen einholen. das formular kannste dann mit javascript abschicken. -> form.submit() ist dein freund Naja... JavaScript meide ich immer an Stellen, an denen die Funktion einer Seite im Vordergrund steht... von daher würde ich es jetzt nicht so machen wollen. Oder du speicherst es in einer Session Ja, so mache ich es jetzt auch.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.