Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/02/2005, 15:14
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
En realidad están mezclando las cosas.
- Primero: SIEMPRE utiliza $_POST['variable'] en lugar de simplemente $variable cuando el formulario se envíe por método POST. (Eso no lo voy a explicar aquí...pero en las FAQ's de este foro tienes una muy buena explicación de Cluster).

Ahora sí:
- El formulario enviará dos variables:

<input type="text" name="T1" size="20">. Una variable que deberás recoger como $_POST['T1'] y que contiene lacadena de texto introducida en ese campo.

<input type="submit" value="Buscar" name="buscar">. Otra variable que deberás recoger como $_POST['buscar'] y que tiene como valor "Buscar".

---------------------------------------------------
Supongo que eso ya lo sabías.
Normalmente se utiliza la variable declarada en el botón "submit" para comprobar si el formulario ha sido enviado (en realidad se puede hacer con cualquier variable del formulario)... Si la variable $_POST['buscar'] existe, quiere decir que ese formulario ya ha sido enviado. Y eso es justamente lo que hace tu código.

El tema seguramente es que tienes la directiva register globals desactivada y ya no te reconoce $buscar como global (por eso conviene utilizar $_POST['buscar']... así funcionará de todas maneras).

Si te das cuenta y sigues utilizando tu código original pero utilizando $_POST['buscar'] verás que tengo razón.
Código PHP:
if (!isset($_POST['buscar'])){
echo 
"Debe especificar un criterio de búsqueda";
echo 
"</body></html> \n";
exit;

Como te dije, esta comprobación la puedes hacer con cualquiera de las variables del formulario y pasará lo mismo. Por eso cuando FuLaNo_ pone $_POST['T1'] también funciona.

En el resto de tu código también te conviene cambiar las llamadas a $T1 por $_POST['T1'] y así siempre que tengas variables de formulario, método POST.

Saludos