php - server_addr - $_SERVER[''REQUEST_METHOD''] return GET insted POST
request_method para que sirve (2)
Creo un formulario usando un método de publicación como ese:
<form name="indexFormn" id="indexForm" method="POST" action="page.php">
<div class="AdminformDiv">
<div class="errorbox">
<?php
if (!is_array($this->actionErrors)) {
echo $this->actionErrors;
}
?>
</div>
<div>
<table border="0" cellpadding="0" cellspacing="0" style="width:700px">
<tbody>
<tr>
<td style="width:128px">Amount</td>
<td colspan="2">$ <?php echo $this->price;?> USD<td style="width:270px"> </td>
</tr>
<tr>
.....
pero el problema es cuando hago "var_dump ($ _ SERVER [''REQUEST_METHOD'']);" en mi código php obtengo todo el tiempo "GET" no "POST" y realmente no sé por qué?
Básicamente, la mayoría de las solicitudes HTTP son solicitudes GET. y $ _SERVER [''REQUEST_METHOD''] evalúa el método GET predeterminado.
puede usar if ($ _ POST) para verificar si se trata de un POST. (Esa es la matriz con datos POST. Todas las páginas tienen $ _GET establecido, por lo que si ($ _ GET) no funcionará para decir si se trata de un GET)
cuando envíe su formulario, seguro obtendrá el método POST en "page.php". intenta obtener el método en esta página y encuentra.
Acabo de tener este problema usando el Framework MVC de Codeigniter. Esto es lo que descubrí:
Mi atributo de Acción en mi formulario no incluía el "www" en frente de mi dominio, pero mi URL real necesitaba el "www".
es decir, mi formulario tenía action="https://mydomain/something"
pero si me dirigía a esa URL, noté que mi servidor web agregaba www al comienzo: https://www.mydomain/something
. (Yo uso DreamHost y es una configuración que había elegido)
Espero que este sea también tu problema, realmente frustrante intentarlo, pero una vez que obtuve mi acción y la URL real para acordar el "www", mi método de solicitud pasó de GET a POST.