Zum Inhalt springen

[PHP] HTTP_GET und laaaanger String...


Empfohlene Beiträge

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?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...