Foros del Web » Programando para Internet » PHP »

Método GET en formulario

Estas en el tema de Método GET en formulario en el foro de PHP en Foros del Web. Buenas! intentaré resumir un problemilla que me ha surgido y buscando por google no encuentro la solución, a ver si alguien sabe si se puede ...
  #1 (permalink)  
Antiguo 04/11/2012, 07:39
 
Fecha de Ingreso: abril-2010
Mensajes: 37
Antigüedad: 14 años
Puntos: 1
Método GET en formulario

Buenas! intentaré resumir un problemilla que me ha surgido y buscando por google no encuentro la solución, a ver si alguien sabe si se puede hacer o no. Un ejemplo muy básico para que se entienda:


<?php

// Que datos me interesan rellenar para según qué menú de la carta
<a href="carta.php?menu=desayuno"> Desayuno </a>


if($_GET["menu"] == "desayuno"){
//Relleno formuario para un desayuno
<form action="carta.php?menu=desayuno" method="get">
Bebida <input type="text" name="bebida">
<input type="submit" values="Enviar">

</form>
}

?>

Quiero mantener el enlace "Desayuno" a la vista, en cuanto hago clic en el "Submit", se muestran los valores del formulario pero el enlace "Desayuno" se pierde.

En la barra de URL del navegador me aparece:
http://www.miweb.com/carta.php?bebida=fanta

y yo busco que aparezca
http://www.miweb.com/carta.php?menu=desayuno&bebida=fanta

pues lo dejo ahí, si alguien sabe por donde van los tiros se agradece cualquier aportación ;) ! Salu2
  #2 (permalink)  
Antiguo 04/11/2012, 08:02
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Método GET en formulario

no se entiende nada, supongo q es esto:

Código HTML:
Ver original
  1. <form action="carta.php" method="get">
  2. Bebida <input type="text" name="bebida" value="">
  3. menu <input type="text" name="menu" value="<?php echo $_GET["menu"] ; ?>">
  4. <input type="submit" values="Enviar">
  5.  
  6. </form>
  #3 (permalink)  
Antiguo 04/11/2012, 09:22
 
Fecha de Ingreso: abril-2010
Mensajes: 37
Antigüedad: 14 años
Puntos: 1
Respuesta: Método GET en formulario

Cita:
Iniciado por Patriarka Ver Mensaje
no se entiende nada, supongo q es esto:

Código HTML:
Ver original
  1. <form action="carta.php" method="get">
  2. Bebida <input type="text" name="bebida" value="">
  3. menu <input type="text" name="menu" value="<?php echo $_GET["menu"] ; ?>">
  4. <input type="submit" values="Enviar">
  5.  
  6. </form>
No se entiende nada?
Menú que tiene un enlace href con parámetro GET que enlaza a un formulario que recoge datos con método GET, al hacer el submit se pierde el valor del enlace href.

Me has dado una idea que acabo de probar y funciona.

<a href="carta.php?menu=desayuno">Desayuno</a>

y para no perder el valor "desayuno" del parámetro ?menu, obtengo los datos a través de un campo oculto:

<input type="hidden" name="menu" value="$_GET['menu']">

Es una chapuza (supongo) pero funciona.

Si hay alguna otra alternativa, bienvenida sea.
  #4 (permalink)  
Antiguo 04/11/2012, 09:23
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Método GET en formulario

esta tambien puede ser una opcion


<?php if($_GET["menu"] == "desayuno") { ?>


<form action="" method="post">
Bebida <input type="text" name="bebida">
<input type="submit" onclick="document.forms[0].action='carta.php?menu=<?php echo $_GET["menu"]; ?>';" values="Enviar">

</form>
<?php } ?>

y pasas la bebida por $_POST y listo
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #5 (permalink)  
Antiguo 04/11/2012, 14:16
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Método GET en formulario

o.O es de logica, cuando envias variables del tipo GET desde un formulario este desecha las variables externas al formulario, para pasar una variable debes definirla en uno de los campos...

Código PHP:
Ver original
  1. <form method="get" action="">
  2.      <input type="text" name="bebida" />
  3.      <input type="hidden" name="menu" value="<?php echo $_GET['menu']; ?>" />
  4.      <input type="submit" value="Enviar" />
  5. </form>
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 06/11/2012, 03:08
 
Fecha de Ingreso: abril-2010
Mensajes: 37
Antigüedad: 14 años
Puntos: 1
Respuesta: Método GET en formulario

Cita:
Iniciado por Nemutagk Ver Mensaje
o.O es de logica, cuando envias variables del tipo GET desde un formulario este desecha las variables externas al formulario, para pasar una variable debes definirla en uno de los campos...

Código PHP:
Ver original
  1. <form method="get" action="">
  2.      <input type="text" name="bebida" />
  3.      <input type="hidden" name="menu" value="<?php echo $_GET['menu']; ?>" />
  4.      <input type="submit" value="Enviar" />
  5. </form>
Es así como lo tengo ya, con el hidden y funciona bien, de todas formas gracias ;)

Etiquetas: formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:06.