Foros del Web » Programando para Internet » PHP »

problema con formulario(GET)

Estas en el tema de problema con formulario(GET) en el foro de PHP en Foros del Web. pues estoy modificando un formulario de POST A GET y todo va bien pero me encuentro con un problema :( en form action tengo puesto ...
  #1 (permalink)  
Antiguo 30/07/2004, 06:06
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 13 años, 6 meses
Puntos: 0
problema con formulario(GET)

pues estoy modificando un formulario de POST A GET y todo va bien pero me encuentro con un problema :(

en form action tengo puesto eso:

[PHP<FORM ACTION="index.php?seccion=buscar&palabra=$_GET[palabra]" METHOD="GET"> [/PHP]

pero el simpatico me direccion a:

index.php?palabra=$_GET[palabra]


que puedo hacer?????gracias
  #2 (permalink)  
Antiguo 30/07/2004, 06:35
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 14 años
Puntos: 0
Hola,
debes ponerlo asi (si no me he equivocado...):

Código PHP:
echo '<FORM ACTION="index.php?seccion=buscar&palabra='.$_GET['palabra'].' " METHOD="GET">'
un saludo,
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #3 (permalink)  
Antiguo 30/07/2004, 06:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 13 años, 6 meses
Puntos: 0
no mi problema es que me me coge bien la variable y todo pero me envia a esta URL:

index.php?palabra=la palabrake e escrito

y quiero ke me envie a :

index.php?seccion=buscar&palabra=palabra escrita

peron por no ponerlo claro antes :( ups.....

gracias
  #4 (permalink)  
Antiguo 30/07/2004, 07:06
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
¿podrías poner el código html del formulario?, es decir, una vez que se haya ejecutado el php. (haz un "ver código fuente" para entendernos)
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #5 (permalink)  
Antiguo 30/07/2004, 08:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si eso que pusistes es HTML sólo (no usando echo "<form .. action ...."> .. tendrás que hacer el "echo" al menos a tu variable:

Código PHP:
<FORM ACTION="index.php?seccion=buscar&palabra=<? echo urlencode($_GET['palabra']) ?>" METHOD="GET">
Pero .. supongo que "palabra" es el dato que tienes e introduces en un "<input type="text" .. " de tu formulario .. Si es así .. NO tienes que poner &palabra en la llamada del "action" . .esa variable ya "sube" por GET junto con las que puedas poner a mano en el própio action.

y si quisieras pre-establecer el valor de "palabra" en tu campo input del formulario .. tan sólo usa el value de dicho input:

Código PHP:
<input name="palabra" value="<? echo $_GET['palabra'?>">
Un saludo,

PD: Si no te quedó claro .. pon el código completo que usas.
  #6 (permalink)  
Antiguo 30/07/2004, 08:53
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 13 años, 6 meses
Puntos: 0
ok,aqui explico todo un poco mejor :D,tengo un sistema de busqueda el cual recoge la palabra a buscar desde un GET,hasta aqui todo me va bien,pero cuando quiero enviar la palabra via URL con el get si me la envia pero se come un trozo del camino.
Código PHP:
<FORM ACTION="index.php?seccion=buscar">
Introduzca su nombre:<INPUT TYPE="text" NAME="palabra"><BR>  
<
INPUT TYPE="submit" VALUE="Enviar" 
este es el form que envia la palabra al buscador,lo malo es que se come la parte del "?seccion=buscar" y me la cambia por esta "index.php?palabra=la que puse en el form" y claro aunque si me ha recogido la variable el sistema no la coge devido a que esa no es la URL.

en el index llamo a la pagina buscar de la siguiente forma"lo pongo por si las moscas):

case 'buscar';
$incluir = 'buscar.php';

y a su vez buscar incluye la pagina que se le ha pedido(en caso de ser seccion=buscar busca una por defecto)

no se si consegui explicar mi problema :D muchas gracias a todos :D es que estoy desesperado con este form no se donde puede estar el error :( con POST me funciona bien
  #7 (permalink)  
Antiguo 30/07/2004, 09:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. indicas el "method"? o no ?

<FORM ACTION="index.php?seccion=buscar" method="GET">

Y .. para el switch() (de ese "case") y para tu "palabra" que uses en tu consulta SQL .. todo lo tomas por GET?

$_GET['seccion'] .. y $_GET['palabra'] .... donde corresponda.

Un saludo,
  #8 (permalink)  
Antiguo 30/07/2004, 09:41
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 13 años, 6 meses
Puntos: 0
si indico el method(fue un fallo al copiarlo aqui:P) y si llamo a la seccion de la pagina desde un GET :D
  #9 (permalink)  
Antiguo 30/07/2004, 11:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Estuve probando tu método ..

Me pasó lo miso que mencionas (si usas método GET) .. así que la solución que ví era simplemente usar un campo hidden con el valor de esa(s) variables que actualmente usas en el URL del action:

Código PHP:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<pre>
<?
echo print_r($_GET);
?>
</pre>
<form action="<? echo $_SERVER['PHP_SELF'?>" method="get">
<input type="hidden" name="seccion" value="buscar">
<input name="palabra" type="text">
<input name="enviar" type="submit" value="enviar">
</form>
</body>
</html>
No sé por qué no se "acomulan" las variables en el URL . tal vez sea parte del protocolo HTTP que desconozco en esos detalles, Y tal vez pudieras tener alguna solución "javascript" que capture el Action (url) tus variabels del formulario .. y monte el nuevo "submit" .. Pero no vale la pena complicarse: usa el campo hidden y listo.

Un saludo,
  #10 (permalink)  
Antiguo 30/07/2004, 12:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 13 años, 6 meses
Puntos: 0
ok,muchas gracias cluster :D como bien dices es extraño :D pero bueno almenos has encontrado una solucion ;)

gracias
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 07:49.