Diferencia entre $HTTP_POST_VARS y $_POST

Querría saber la diferencia entre $HTTP_POST_VARS y $_POST, si es que las hay. Porque he visto que a veces se accede a las variables de formulario...

La FAQ Diferencia entre $HTTP_POST_VARS y $_POST tiene

Pertenece a la categoría:
Pregunta
Querría saber la diferencia entre $HTTP_POST_VARS y $_POST, si es que las hay. Porque he visto que a veces se accede a las variables de formulario utilizando una variable y a veces la otra.
Respuesta de Miguel Angel Alvarez
Como ya dejas entrever en tu pregunta, no hay diferencia entre una variable y la otra, hacen referencia ambas a la colección de variables enviadas del formulario. Al principio sólo había la variable $HTTP_POST_VARS y luego fue creada la abreviación $_POST, por motivos obvios de ahorro de caracteres en la variable.


También se pueden encontrar otras abreviaciones de variables superglobales, que se comentan en el artículo Variables del sistema, del Manual de PHP.

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Tomas

05/10/2006
Estimados amigos:

Las variables $HTTP_POST_VARS y $_POST NO SON IGUALES, y $_POST no es una "simple abreviación" de la otra.

La variable $HTTP_POST_VARS no es superglobal.

$HTTP_POST_VARS contiene la misma información inicial de $_POST, pero si quisiéramos utilizar $HTTP_POST_VARS dentro de una función deberíamos definirla como global, en cambio $_POST esta disponible en cualquier contexto dentro de un script.

PHP trata estas dos variables de formas diferentes.

Además vale aclarar que el uso de $HTTP_POST_VARS esta quedando en muchísimos servidores Web y, al parecer, PHP 6 las elimina totalmente.

Eduardo Castillo

06/10/2006
Saludos, el compañero TOMAS tiene toda la razón, precisamente iba a escribir que SÍ existe diferencia entre estas dos variables.

Walter Daniel

06/7/2007
En PHP, necesito saber cómo proceder para tomar el dato que seleccioné del listbox. Por ejemplo:

<select name="query">
<option selected="selected">Su opción</option>
<option value="Document">Documentación</option>
<option value="Foros">Foros</option>
<option value="Codigo">Código</option>
…..
</select>
<form action="<?PHP echo $PHP_SELF?>" method="post">
Nombre: <input type="text" name="nombre"><br>
……
<p><input type="submit" name="enviar" value="Enviar datos">
<input type="reset" name="B2" value="Restablecer"></p>
</form>


Luego, para ver los datos que se ingresaron en el formulario, hago:

<?php
echo "Nombre: ".$_POST["nombre"]."<br>"; // acá muestra bien la leyenda y el nombre
echo "Dato: ".$_POST ["query"] ."<br>";
// acá sólo muestra “Dato:”
…..

Qué está faltando para poder tomar el dato que seleccioné de la lista de opciones???

josue

02/12/2007
La etiqueta "select" tiene que estar dentro de <form></form>

Assmodeuss

05/4/2011
Agradecimientos
Realmente primera vez que me sirve una informacion tan exacta en esta pagina muchas gracias por la explicacion ya que me sirvio bastante! ;)
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías