Nach Sumit mit Post: Wie kann ich die Werte einlesen?
TomCat
- php
Hallo zusammen!
Ich möchte mit einem HTML-Form und Method "Post" eine variable Anzahl werte übergeben. Die Variablennamen, in denen diese Werte stehen sind dabei ebenfalls flexible.
Beispiele: Nach Submit aus dem Form könne (bei Method "Get") die URL einmal so
http://www.mydomain.de?ersterVar=1&zweiteVar=2
und einmal so
http://www.mydomain.de?Var1=1&zweiteVar2=2&Var3=3&vierteVar=vier
ausehen.
Was ich such ist eine Möglichkeit, alles hinter dem Fragezeigen in einen String oder ein Array zu bekommen, damit ich es weiterverarbeiten kann.
Kann mir jemand da weiterhelfen?
Viele Grüße
TomCat
Hi TomCat!
Bennene die Variablen in der Form einfach wie Arrays und PHP wertet sie sogar so aus:
<input name="var[1]" value="...">
<input name="var[2]" value="...">
...
In PHP kannst Du dann folgendermaßen darauf zugreifen:
echo $var[1];
Oder natürlich auch in einer Schleife:
for($i=0;$i<count($var);$i++)
echo $var[$i];
VG Simon
Moin!
Ich möchte mit einem HTML-Form und Method "Post" eine variable Anzahl werte übergeben. Die Variablennamen, in denen diese Werte stehen sind dabei ebenfalls flexible.
Aha, mit POST...
http://www.mydomain.de?Var1=1&zweiteVar2=2&Var3=3&vierteVar=vier
...aber URL-Parameter sind GET.
Was ich such ist eine Möglichkeit, alles hinter dem Fragezeigen in einen String oder ein Array zu bekommen, damit ich es weiterverarbeiten kann.
Du willst die POST-Methode benutzen. Bei der gibt es keinen URL-String, den du verarbeiten könntest.
Du findest alle Variablen, die von einem Formular oder einer URL-Zeile oder durch Cookies abgeschickt wurden, in PHP in den folgenden Hashes:
POST-Werte: HTTP_POST_VARS
GET-Werte: HTTP_GET_VARS
Cookies: HTTP_COOKIES
POST und GET sind "entweder-oder". Man kann eine neue Seite entweder per POST abrufen (dann sind die Variablen in HTTP_POST_VARS), oder mit GET (dann sind die Variablen in HTTP_GET_VARS).
Im Zweifel benutze die Funktion php_info(), die wirft auf der Ergebnisseite weiter unten alle Werte dieser drei Hashes aus. Dort solltest du auch eine Variable finden, die HTTP_METHOD heißen könnte und angibt, ob POST oder GET verwendet wurde. Daran kannst du dann sehen, welchen Hash du durchsuchen mußt.
Und wenn du den Hash kennst, kannst du mit einer kleinen Funktion alle Werte des Hashs auslesen und verwerten. Dann mußt nur noch du entsprechend variabel sein und mit den Daten was sinnvolles machen. :)
- Sven Rautenberg
Hallo zusammen!
Danke für die Antworten. Ich bin mit der Array-Methode weitergekommen, war letzten Endes auch praktischer als ich dachte.
Die Sache mit dem POST/GET ist mir schon klar, ich arbeite mit POST, habe das Beispiel aber als GET geschrieben, weil ich dachte es wird dann klarer, was ich will. Wie dem auch sei: Genau nach so etwas wie diesen Variablen habe ich gesucht.
Danke noch und viele Grüße
TomCat