Foros del Web » Programando para Internet » PHP »

PHP no reconoce variable de formulario

Estas en el tema de PHP no reconoce variable de formulario en el foro de PHP en Foros del Web. Hola Tengo un Form con una campo de texto de nombre Buscar (name="buscar") y el action del Form apuntando a un fichero buscador.php (action="http://localhost/Pruebas/buscador.php") quien ...
  #1 (permalink)  
Antiguo 10/06/2003, 11:50
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
PHP no reconoce variable de formulario

Hola

Tengo un Form con una campo de texto de nombre Buscar (name="buscar")
y el action del Form apuntando a un fichero buscador.php (action="http://localhost/Pruebas/buscador.php") quien contiene las clases de conexion a las BBDD etc, pero ponga lo que ponga en el campo de texto "Buscar" siempre me dice "Debe indicar una cadena de busqueda" que es lo que tiene descrito para


if (!isset($buscar)){
echo "Debe especificar una cadena a buscar";
echo "<p>Debe especificar una cadena a buscar</p> \n";
echo "<p><a href='../index.htm'>Volver</p> \n";
echo "</html></body> \n";
exit;
}

No se como solucionarlo

Gracias
  #2 (permalink)  
Antiguo 10/06/2003, 11:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lee estas dos FAQ's:

http://www.forosdelweb.com/showthrea...988#post238988
http://www.forosdelweb.com/showthrea...989#post238989

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 10/06/2003, 11:55
 
Fecha de Ingreso: junio-2003
Mensajes: 22
Antigüedad: 14 años, 6 meses
Puntos: 0
Prueba con el formulario de búsqueda;
<html>
<body>
<form method="POST" action="buscador.php">
<strong>Palabra a buscar:</strong> <input type="text" name="buscar" size="20"><br><br>
<input type="submit" value="Buscar">
</form>
</body>
</html>
__________________
:aplauso:
  #4 (permalink)  
Antiguo 10/06/2003, 12:01
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 15 años, 9 meses
Puntos: 0
no se mucho, pero creo que tu script esta haciendo lo correcto

Tu pones ahi : SI $buscar es verdadero entonces

Debe especificar una cadena a buscar bla bla bla

Y eso esta haciendo...


Porque ? pues porque isset devuelve como valor TRUE



Tampoco anexas el ELSE...

espero sea de ayuda...
__________________
Saludos
Rnstho Luna
go2mexico.com
  #5 (permalink)  
Antiguo 10/06/2003, 12:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Srs. ....

Existe una directiva en sus php.ini .. se llama register_globals .. y depende cómo esté a ON o a OFF .. podrá usar variables externas como globales (accediendo en el ejemplo a $buscar) o deberá usar $_POST['buscar'] ...

Ademas .. por seguiridad de sus scripts deberían usar si o si los arrays superglobales (si usan PHP 4.1.x en adelante) o en su defecto $HTTP_POST_VARS['buscar'] .. para este ejemplo ..

De eso tratan las FAQ's que puse los links ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 10/06/2003, 15:58
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Gracias

Gracias compañeros

Creo que esta solucionado.
Sino, estad tranquilos que volvere a dar la chapa.

Un saludo

Hola

Creo que ya lo indique pero bueno...

Ya tengo las register_globals igualadas a ON

He provado de todas formas $_POST['buscar'] pero tampoco me funciona...

No se como arreglarlo.
Estoy por eliminar y empezar de nuevo...

Alguno puede echar un vistazo de nuevo al codigo y proponer alguna solución???

Asias again
  #7 (permalink)  
Antiguo 10/06/2003, 16:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. ahora revisando el ejemplo otra vez .. Usas "isset()" .. Isset dice "Si está definida" (con tu ! delante lo niegas) .. Pero no mira si tiene valor o no distinto de NULL o 0 (cero) .. para eso usa empty() que mira si está definida y luego a su vez mira si tiene algún valor dicha variable ..

Código PHP:
if (empty($_POST['buscar'])){ 
Sigo recomendandote que uses los arrays superglobales pese que trabajes con register_globals a ON.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 10/06/2003, 16:27
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Cluster

Te agradezco tu paciencia, pero no consigo nada con el array superglobal $_POST

Me estoy consumiendo...


Por cierto, sabes donde puedo leer algo acerca de ello???

Un saludo
  #9 (permalink)  
Antiguo 10/06/2003, 16:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En php.net

Por cierto .. que versión de PHP usas? ...(por qué está disponible sólo desde PHP 4.1.0 en adelante .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 10/06/2003, 16:43
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Tengo la version 4.3.2

Pero no funciona...
  #11 (permalink)  
Antiguo 10/06/2003, 16:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y probastes (ya que usas register_globals a ON)

Código PHP:
if (empty($buscar)){ 
echo 
"Debe especificar una cadena a buscar";
echo 
"<p>Debe especificar una cadena a buscar</p> \n";
echo 
"<p><a href='../index.htm'>Volver</p> \n";
echo 
"</html></body> \n";
exit;

Un salduo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 10/06/2003, 17:44
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Si he probado tb pero me dice lo mismo...

Debe especificar una cadena a buscar

No lo entiendo...
  #13 (permalink)  
Antiguo 10/06/2003, 17:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías poner el código de tu formulario? ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 10/06/2003, 17:55
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Este es el codigo del Formulario

<!-- Formulario de busqueda Envertcal -->
<Form method="post" action="http://localhost/pruebasweb/PHP/buscador.php">


<img src="imagenes/Estructura/BuscaEnvertical.jpg">
<input type="text" name="buscar" size="15" maxlength="200"> <br>
<input type="submit" value="Busca">

</form>
<!--Fin formulario Envertical-->
  #15 (permalink)  
Antiguo 10/06/2003, 18:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues NI idea ...

Acabo de probar tu ejemplo (formulario y último código PHP que te dí con el empty($buscar) (con register_globas a ON) y funciona correctamente .. Si le doy al botón submit del formulario me dice el mensaje de erro esperado (pues $buscar no tiene nada) .. Si pongo algo .. continua el script ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 11/06/2003, 09:24
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Gracias de todos modos

A mi sigue sin funcionarme....

De todas formas puede ser algo de configuracion de apache PHP o algo???

Hola de nuevo

Ademas de seguir sin funcionarme...

si utilizo los arrays superglobales, ¿Debo tener las register_globals a on o a off?? o es indiferente??

Un saludo cluster

HOla otra vez

Ya esta solucionado el problema de la variable.
He utilizado $_POST['buscar'] y parece que el script sigue.

Ahora me sale otro error en Mysql, pero ese es otro 'Tema'

Gracias Cluster

Última edición por Operadormail; 11/06/2003 a las 09:12
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 17:29.