Heim >Backend-Entwicklung >PHP-Tutorial >Warum ist mein $_POST-Array nach der Formularübermittlung in PHP leer und wie kann ich das beheben?

Warum ist mein $_POST-Array nach der Formularübermittlung in PHP leer und wie kann ich das beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-12 13:38:10592Durchsuche

Why is my $_POST array empty after form submission in PHP, and how can I fix it?

Leeres $_POST-Array nach der Formularübermittlung in PHP

In einem benutzerdefinierten Content Management System (CMS) sind Benutzer auf ein Problem gestoßen, bei dem $ _POST-Arrays bleiben bei der Formularübermittlung leer. Dieses Verhalten wird nach der Migration der Anwendung auf einen Produktionsserver beobachtet. Während die Formulardaten im php://-Eingabestream vorhanden sind, fehlen sie in den Arrays $_POST und $_REQUEST.

Um dieses Problem zu beheben, ist es wichtig, die Inhaltstyp-Header zu bestimmen. Wenn das Formular mit einem JSON-Inhaltstyp (application/json) übermittelt wird, füllt PHP das Array $_POST nicht. Dies liegt daran, dass JSON-Daten anders behandelt werden als typische formcodierte Daten, die normalerweise über $_POST verarbeitet werden.

Um das Problem zu beheben, kann der folgende Code verwendet werden:

$_POST = json_decode(file_get_contents("php://input"), true);

Dieser Code liest die JSON-Daten aus dem php://-Eingabestream, dekodiert sie und weist sie dem $_POST-Array zu, wodurch die Formulardaten für weitere Zwecke zugänglich gemacht werden Verarbeitung.

Das obige ist der detaillierte Inhalt vonWarum ist mein $_POST-Array nach der Formularübermittlung in PHP leer und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn