Den Unterschied zwischen $_POST und $_SERVER['REQUEST_METHOD'] == 'POST' verstehen
Die Einreichung eines Entwicklers bei Snipplr stieß auf Kritik für die Verwendung von $_SERVER['REQUEST_METHOD'] == 'POST' anstelle von $_POST. Obwohl der Ansatz der Anforderungsmethode logisch sinnvoll erscheinen mag, ist es wichtig, den Unterschied zwischen den beiden zu verstehen.
$_POST enthält Daten, die über die HTTP-Anforderungsmethode POST an den Server übertragen werden. Auf diese Daten kann über das Array $_POST zugegriffen werden und sie können zum Verarbeiten von Formularübermittlungen und anderen POST-basierten Eingaben verwendet werden.
Andererseits stellt $_SERVER['REQUEST_METHOD'] Informationen über die verwendete HTTP-Anfragemethode bereit durch den Auftraggeber. Indem Sie prüfen, ob die Anfragemethode „POST“ ist, können Sie überprüfen, ob die Anfrage mit der POST-Methode übertragen wurde. Diese Bedingung allein garantiert jedoch nicht das Vorhandensein von POST-Daten im $_POST-Array.
Stellen Sie sich das Szenario einer leeren POST-Anfrage vor. In solchen Fällen erfolgt die Anfrage zwar über die POST-Methode, es sind jedoch keine Daten enthalten. Die Überprüfung der Anforderungsmethode (wenn ($_SERVER['REQUEST_METHOD'] == 'POST')) würde true zurückgeben, aber die Abfrage von $_POST würde zu einem leeren Array führen.
Letztendlich besteht die Wahl zwischen der Verwendung von $_POST und $_SERVER['REQUEST_METHOD'] == 'POST' hängt vom beabsichtigten Zweck ab. Wenn Ihr Fokus ausschließlich auf der Überprüfung der Anforderungsmethode liegt, reicht $_SERVER['REQUEST_METHOD'] == 'POST' aus. Wenn Sie jedoch POST-Daten verarbeiten müssen, ist es wichtig, direkt auf das $_POST-Array zuzugreifen.
Das obige ist der detaillierte Inhalt von$_POST vs. $_SERVER['REQUEST_METHOD'] == 'POST': Wann welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!