Fehlende PHP $_POST-Werte aus php://input
Obwohl Formulardaten über eine POST-Anfrage empfangen wurden, werden bestimmte Werte nicht angezeigt das PHP-Array $_POST. Beim Debuggen wird das Vorhandensein dieser Werte in der rohen Anforderungszeichenfolge angezeigt, die über php://input abgerufen wurde.
Ursache:
PHP ändert Feldnamen, die bestimmte Zeichen enthalten (Leerzeichen, Punkte, offene eckige Klammern usw.), um den veralteten register_globals zu entsprechen.
Lösung:
<code class="php">function getRealPOST() { $pairs = explode("&", file_get_contents("php://input")); $vars = array(); foreach ($pairs as $pair) { $nv = explode("=", $pair); $name = urldecode($nv[0]); $value = urldecode($nv[1]); $vars[$name] = $value; } return $vars; }</code>
Das obige ist der detaillierte Inhalt vonWarum fehlen meine $_POST-Werte in meinem PHP-Skript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!