Foros del Web » Programando para Internet » PHP »

Problema con GET o POST en formulario con PHP

Estas en el tema de Problema con GET o POST en formulario con PHP en el foro de PHP en Foros del Web. Hola tengo una url con varias variables en ella por ejemplo http://www.iweb.com/busca.php?o=Venta&mh=100000&p=Madrid Quiero poner un campo de texto (input) con un botón en un lugar ...
  #1 (permalink)  
Antiguo 27/04/2011, 11:25
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Problema con GET o POST en formulario con PHP

Hola tengo una url con varias variables en ella por ejemplo
http://www.iweb.com/busca.php?o=Venta&mh=100000&p=Madrid

Quiero poner un campo de texto (input) con un botón en un lugar de la página para que sume una variable a la url que ya tengo. O sea que la url quede por ejemplo así :
http://www.iweb.com/busca.php?o=Venta&mh=100000&p=Madrid&bz=loquesea

&bz=loquesea sería la nueva variable que añado al formulario.

El problema es que si lo hago con GET me pasa la nueva variable y elimina el resto, y si lo hago con POST me pone toda la URL salvo la parte nueva"loquesea"

Este es mi código:
<form action="<?php echo $url_actual.'&bz='.$buscazona; ?>" method="POST" enctype="multipart/form-data" style="width:420px; height:30px; float:left">Buscar por zona:<input name="bz" id="bz" type="text" size="22" maxlength="50" align="left"/> <input type="submit" value="Buscar Zona:" style="background-color:#FFCC00" /></form>

Había pensado hacerlo con $POST y meterle un hidden al formulario, pero me viene mucho mejor a través de la URL. ¿Se os ocurre algo?.
Estoy pegado en javascript, ¿tal vez con algo de java?
  #2 (permalink)  
Antiguo 27/04/2011, 11:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Problema con GET o POST en formulario con PHP

Porque por post no se envian los datos así. Aunque tu la hayas ingresado en el action, esos datos solo son accesibles via GET porque no estan en las cabeceras como los envía los formularios y los navegadores lo manejan. Para pasar por post requiere crear algún campo, ejemplo tipo hidden y con su valor.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/04/2011, 11:38
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Problema con GET o POST en formulario con PHP

USA method="GET"
en action pone solo la pagina a donde va ej index.php
y el resto en campos hidden o cualquiera
  #4 (permalink)  
Antiguo 27/04/2011, 12:22
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Problema con GET o POST en formulario con PHP

Gracias a ambos. Realmente eso lo sabía pero os lo agradezco de todos modos.

La cuestión es que por funcionalidades de la página (como por ejemplo el paginador), me viene mucho mejor que se mande a través de la URL en vez de através de un hidden.

Tal vez con algo de java de alguna forma se pueda mandar con un GET o bien sumando de alguna otra forma la nueva variable a el resto de variables que ya hay en la url. ¿Alguna idea?
Gracias
  #5 (permalink)  
Antiguo 27/04/2011, 12:27
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Problema con GET o POST en formulario con PHP

entoces usa $_REQUEST para procesar las variables
  #6 (permalink)  
Antiguo 27/04/2011, 12:32
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Problema con GET o POST en formulario con PHP

intenta así:

Código Javascript:
Ver original
  1. <form action="<?php echo $url_actual ?>" method="POST" onSubmit="this.action=this.action+'&bz='+document.getElementById('bz').value" enctype="multipart/form-data" style="width:420px; height:30px; float:left">
  2. Buscar por zona:<input name="bz" id="bz" type="text" size="22" maxlength="50" align="left"/>
  3. <input type="submit" value="Buscar Zona:" style="background-color:#FFCC00" />
  4. </form>

eso agregará la variable que quieres al final de la url, sin embargo no se por que prefieres hacerlo así, creo que el método de abismael y gran patriarka te vendrían mejor.
  #7 (permalink)  
Antiguo 27/04/2011, 12:47
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Problema con GET o POST en formulario con PHP

stramin eres un genio.

Me funciona perfecto, es justo lo que necesitaba.

El problema era que si usaba Post y luego Hidden, ya no recogía el paginador esa variable. De este modo es mucho más sencillo.

Te debo una. Muchas gracias.

Voto tu Karma.

Saludos,

Etiquetas: formulario, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:12.