2016-10-23 3 views
-1

ich einige Code wie folgt zu lesen:

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
   echo "Hello ". $_POST['alias']; 
} 

Aber da wir schon _POST $ verwenden haben, was bedeutet, dass es durch die Post-Methode verwendet werden muss, warum wir noch brauchen, um Verwenden Sie "$ _SERVER [" REQUEST_METHOD "] ==" POST "? Eine andere Frage ist, wenn wir eine Menge Formular sowohl mit Post-und Get-Methoden, also was ist der Wert von $ _SERVER [" REQUEST_METHOD "], speichert es nur speichern die neueste Methode Wert

+2

Mögliches Duplikat von [$ \ _ POST vs. $ \ _ SERVER \ ['REQUEST \ _METHOD' \] == 'POST'] (http://stackoverflow.com/questions/409351/post-vs-serverrequest-method -Post) –

Antwort

0

nach PHP-Dokumentation http://php.net/manual/en/reserved.variables.server.php$_SERVER["REQUEST_METHOD"]:

Mit welcher Anfrage-Methode wurde auf die Seite zugegriffen; "GET", "HEAD", "POST", "PUT".

Das heißt, es ist nur nur ein Informations für Sie, wie die Daten vorgelegt.

$_POST enthält nur über die POST-Methode vorgelegte Daten:

Ein assoziatives Array von Variablen für das aktuelle Skript über die HTTP POST-Methode übergeben, wenn die Anwendung/x-www-form-urlencoded oder mehrteiliger Verwendung/Formulardaten als HTTP Content-Type in der Anfrage.

Deshalb ist es besser $_REQUEST zu verwenden, weil es ist:

Ein assoziatives Array, das den Inhalt von $ standardmäßig enthält _GET, $ _POST und $ _COOKIE.

Dies bedeutet, dass Sie nicht darauf achten müssen, wie die Daten übermittelt wurden.

Verwandte Themen