Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] HTTP_GET und laaaanger String...

Empfohlene Antworten

Veröffentlicht

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

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)

POST geht leider nicht in diesem Falle.

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.

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

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.

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

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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.