2008-10-30 15 views

Respuesta

30

Utilice $_SERVER['REQUEST_METHOD'] para determinar si se accedió a su página a través de una solicitud GET o POST.

Si se accedió por correo postal, compruebe si hay variables en $_POST para procesar.

+0

Tenga en cuenta, sin embargo, que hay más métodos de solicitud que GET y POST. Entonces, no mire si es GET y asuma que es POST, compruebe que es POST y suponga que es GET. – Lemming

-1
!empty($_POST) 

estoy bastante seguro de que puede acceder a una página con los métodos GET y POST, por lo que esta sería la forma más segura de la OMI

4

Comprobar $_SERVER['REQUEST_METHOD']. La documentación es here.

6

Si desea pasar las mismas variables tanto por POST como por GET, siempre puede usar PETICIÓN que contiene parámetros de POST y GET. Sin embargo, esto generalmente se considera una vulnerabilidad de seguridad, ya que significa que las variables pueden ser más fácilmente falsificadas.

Si desea probar si la solicitud fue enviada POST o GET a continuación, puede:

if($_SERVER['REQUEST_METHOD'] === 'post') 
{ 
    // Do one thing 
} 
elseif($_SERVER['REQUEST_METHOD'] === 'get') 
{ 
    // Do another thing 
} 

O:

if(!empty($_POST)) 
{ 
    // Process POST 
} 
elseif(!empty($_GET)) 
{ 
    // Process GET 
} 
+2

Vulnerabilidad de seguridad? Eso es gracioso. – moo

+0

Estoy con orandu63, las variables pueden ser fácilmente (muy fácilmente) falsificadas si son enviadas al servidor por POST o GET. – Kibbee

+0

Solo sugiero que el uso de SOLICITUD es menos seguro que usar POST o GET explícitamente. Menos seguro == Vulnerabilidad que no necesita existir. –

2

Para este tipo de preguntas, generalmente cerca de las variables de entorno, aquí está cómo los descubro:

  • Cree un foo.php que simplemente llame a phpinfo();
  • GET foo.php
  • POST para foo.php
  • comparar la salida de phpinfo(); y hacer que mis teorías acerca de lo que el comportamiento es
  • verificar mi teoría contra la documentación en php.net

Es mucho más fácil que tratar de encontrar la respuesta en el pantano de documentación de php.net.

0

Puedo utilizar la variable $ _REQUEST si tienen una página y

también a tiene que ser capaz de procesar ciertas peticiones POST

http://is.php.net/manual/en/reserved.variables.request.php

Del manual:

Una matriz asociativa que contiene de forma predeterminada los contenidos de $ _GET, $ _POST y $ _COOKIE .

Cuestiones relacionadas