Me gustaría tener una página en php que normalmente muestra información basada en la solicitud GET enviada a ella. Sin embargo, me gustaría que también sea capaz de procesar ciertas solicitudes POST. Entonces, ¿cómo puedo saber si el POST envió algún dato para poder actuar sobre él?¿Cómo puedo saber si hay una página de php si alguien llegó por POST o GET?
Respuesta
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.
!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
Comprobar $_SERVER['REQUEST_METHOD']
. La documentación es here.
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
}
Vulnerabilidad de seguridad? Eso es gracioso. – moo
Estoy con orandu63, las variables pueden ser fácilmente (muy fácilmente) falsificadas si son enviadas al servidor por POST o GET. – Kibbee
Solo sugiero que el uso de SOLICITUD es menos seguro que usar POST o GET explícitamente. Menos seguro == Vulnerabilidad que no necesita existir. –
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.
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 .
- 1. Comprobar si una petición es GET o POST
- 2. Detectar si la acción es un método POST o GET
- 3. ¿Cómo puedo saber si necesito conservar o asignar una propiedad?
- 4. Cómo saber si una página se está llamando a través de Ajax, o por su cuenta
- 5. iPhone - saber si un UIScrollView llegó a la parte superior o inferior
- 6. ¿Cómo puedo saber si alguien está falsificando un tipo de archivo? (PHP)
- 7. ¿Cómo puedo saber si mi aplicación PHP usa demasiada memoria?
- 8. El método de formulario predeterminado IE7 es "GET". ¿Cómo puedo saber si el usuario ha ingresado o está predeterminado?
- 9. PHP ¿Cómo saber si una variable es una referencia?
- 10. GET y POST en la misma página?
- 11. PHP: ¿Cómo saber si una cadena contiene algún carácter especial?
- 12. cómo saber si XMLHttpRequest.send() funcionó
- 13. ¿Cómo puedo saber si NSTimer está activo o no?
- 14. jQuery $ .get o $ .post para detectar el error de carga de la página (por ejemplo, 404)
- 15. Oracle: ¿Cómo saber si hay una transacción pendiente?
- 16. cómo saber si el correo php falló
- 17. ¿Cómo puedo saber si un MotionEvent es relativo o absoluto?
- 18. Parámetros PHP URL GET, si existen, reemplazar?
- 19. ¿Cómo puedo saber si una variable de python es una cadena o una lista?
- 20. cómo saber si una cadena es base64 o no
- 21. Detectar si el método HTTP (POST, GET) en jQuery.ajaxComplete()
- 22. ¿Puedo hacer solicitudes POST o GET desde una aplicación iphone?
- 23. ¿Cómo puedo saber si existe una RenderSection no requerida?
- 24. ¿Cómo puedo saber si una tabla es una matriz?
- 25. ¿Cómo saber si un modelo es nuevo o no?
- 26. ¿Cómo puedo saber si una lista tiene un tercer artículo?
- 27. ¿Cómo puedo saber si mi página está configurada como página de inicio del usuario?
- 28. ¿Cómo puedo saber si un proceso tiene una interfaz gráfica?
- 29. ¿Cómo puedo saber si una variable VARCHAR contiene una subcadena?
- 30. ¿Cómo puedo saber si una propiedad es una colección genérica?
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