Ich muss alle Variablen einfügen, die per Post gesendet wurden. Es handelte sich um Kontrollkästchen, die jeweils einen Benutzer darstellen.
Wenn ich GET benutze, bekomme ich so etwas:
?19=on&25=on&30=on
Ich muss die Variablen in die Datenbank einfügen.
Wie bekomme ich alle Variablen mit POST gesendet? Als Array oder durch Koma getrennte Werte oder so?
Antworten:
Die Variable
$_POST
wird automatisch ausgefüllt.Versuchen Sie
var_dump($_POST);
, den Inhalt zu sehen.Sie können auf einzelne Werte wie folgt zugreifen:
echo $_POST["name"];
Dies setzt natürlich voraus, dass Ihr Formular die typische Formularcodierung verwendet (d. H.
enctype=”multipart/form-data”
Wenn Ihre Post-Daten in einem anderen Format vorliegen (z. B. JSON oder XML), können Sie Folgendes tun:
und
$post
enthält die Rohdaten.Angenommen, Sie verwenden die Standardvariable
$_POST
, können Sie testen, ob ein Kontrollkästchen wie folgt aktiviert ist:Wenn Sie eine Reihe von Kontrollkästchen haben (z
Die Verwendung
[ ]
des Kontrollkästchens gibt an, dass das PHP-Skript als Array auf die ausgewählten Werte zugreift. In diesem Fall$_POST['myCheckbox']
wird keine einzelne Zeichenfolge zurückgegeben, sondern ein Array, das aus allen Werten der aktivierten Kontrollkästchen besteht.Wenn ich zum Beispiel alle Kästchen ankreuzen
$_POST['myCheckbox']
würde , wäre ein Array bestehend aus :{A, B, C, D, E}
. Hier ist ein Beispiel, wie Sie das Array von Werten abrufen und anzeigen können:quelle
Sie sollten über die
$_POST
Variable auf sie zugreifen können :quelle
Es ist veraltet und möchte nicht direkt auf Superglobale zugreifen (seit PHP 5.5 denke ich?)
Jede moderne IDE wird Ihnen sagen:
Für unsere Lösung müssen wir die Methode verwenden, um alle Anforderungsparameter zu erhalten
filter_input_array
Verwenden Sie Folgendes, um alle Parameter von einer Eingabemethode abzurufen:
Jetzt können Sie es in
var_dump
oder Ihrenforeach
-Loops verwendenWas nicht funktioniert, ist mit dieser Methode auf das Superglobal $ _REQUEST zuzugreifen. Es kehrt immer zurück
NULL
und das ist richtig.Wenn Sie alle Eingabeparameter über verschiedene Methoden abrufen müssen, führen Sie sie einfach wie in der folgenden Methode zusammen:
Bearbeiten: erweiterte Version dieser Methode (funktioniert auch, wenn eine der Anforderungsmethoden nicht festgelegt ist):
quelle
Also so etwas wie das
$_POST
Array?Sie können
http_build_query($_POST)
sie wieder in einevar=xxx&var2=yyy
Zeichenfolge einfügen. Oder nur umprint_r($_POST)
zu sehen, was da ist.quelle
Warum nicht das, es ist einfach:
quelle
Mit diesem können Sie alle Post-Variablen erhalten
quelle