borisbaer: getRequestBody-Methode gibt keine Formular-Werte aus

Beitrag lesen

Hallo zusammen,

ich habe ein Problem mit meiner getBody()-Methode:

public static function getBody(): array

{

	$body = [];

	if ( $_SERVER['REQUEST_METHOD'] === 'GET' )

		foreach ( $_POST as $key => $value )

			$body[$key] = filter_input( INPUT_GET, $key, FILTER_SANITIZE_SPECIAL_CHARS );

	if ( $_SERVER['REQUEST_METHOD'] === 'POST' )

		foreach ( $_POST as $key => $value )

			$body[$key] = filter_input( INPUT_POST, $key, FILTER_SANITIZE_SPECIAL_CHARS );

	return $body;

}

Diese soll dazu dienen, http-Anfragen von bösartiger Eingabe zu befreien.

Wenn ich jedoch in einer meiner Controller-Klassen diese getBody()-Methode abrufe ($body = Controller::getBody();), dann bekomme ich nur die Array-Keys geliefert, die entsprechenden Values bleiben leer.

Ich weiß nicht, warum das so ist, denn bei print_r( $_POST ) erscheinen sowohl die Keys als auch die Values. Außerdem funktioniert die getBody()-Methode bei einem anderen Formular, und zwar bei dem Formular zur Erstellung eines neuen Benutzerkontos. Ich habe keine Idee, woran es liegen könnte.
Stimmt was mit dem Input nicht?

Grüße
Boris