Warum das PHP-$_POST-Array nach der Formularübermittlung leer bleibt
Wenn man trotz erfolgreicher Formularübermittlungen auf leere $_POST-Arrays stößt, muss man sich damit befassen Feinheiten des Datenflusses zwischen Client und Server. Während $_POST normalerweise über HTML-Formulare übermittelte Daten erfasst, können sie in bestimmten Szenarien leer erscheinen.
Der Übeltäter: JSON-Inhaltstyp
In Fällen, in denen JSON als verwendet wird Als Inhaltstyp für die Formulardatenübertragung bleibt das Array $_POST unbefüllt. Dieses Verhalten ist eine Folge der Art und Weise, wie PHP mit verschiedenen Inhaltstypen umgeht.
Problem lösen
Um dieses Problem zu beheben und auf die übermittelten Daten zuzugreifen, können Sie Folgendes verwenden Folgende Lösung:
$_POST = json_decode(file_get_contents("php://input"), true);
Durch die Dekodierung der JSON-Daten direkt aus dem Eingabestream mit file_get_contents("php://input") können wir kann das Array $_POST manuell mit den übermittelten Werten füllen.
Das obige ist der detaillierte Inhalt vonWarum ist mein PHP-Array $_POST leer, nachdem ich ein JSON-Formular gesendet habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!