Foros del Web » Programando para Internet » PHP »

validar formulario

Estas en el tema de validar formulario en el foro de PHP en Foros del Web. Bueno, es un poco lío de explicar: El caso es que tengo un formulario en el cual un desplegable viene de una consulta a mysql... ...
  #1 (permalink)  
Antiguo 24/02/2006, 09:41
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 11 años, 10 meses
Puntos: 0
validar formulario

Bueno, es un poco lío de explicar:

El caso es que tengo un formulario en el cual un desplegable viene de una consulta a mysql...

Pues bien, si los resultados de esa consulta a mysql no dan resultado (es decir el desplegable NO muestra datos) NO quiero que se pueda pulsar el botón de enviar el formulario...

No se muy biene como hacer esto...

he intentado integrar el formulario a la consulta mysql para que el formulario completo solo se muestre si hay resultados pero al integrar todo es formulario html aquello da error por todas partes....

La mejor opción sería simplement que el submit no estuviera habilitado pero tampoco parece viable con javascript.... por lo que solo se me ocurre que haya alguna forma en php de poner esa condición o algo....

Lo siento es un poco lío, si alguien me pudiera ayudar.

Gracias
  #2 (permalink)  
Antiguo 24/02/2006, 09:49
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 9 meses
Puntos: 17
Para validar eso lo mejor sería usar Javacsript
<form onSubmit="if (this.nombredelselect.value == '') { alert('El select no puede ser vacío'; return false; } "

y después, cuando procesás el formulario
Código PHP:
if ($_POST['accion'] == "submit" AND !empty($_POST['nombredelselect'])) {

} else {
  ?><form ...><?php
}
  #3 (permalink)  
Antiguo 24/02/2006, 09:54
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Si hay o no hay resultados de la consulta, puedes tú saberlo mediante la función:

mysql_num_rows()

Que te regresa un número entero igual a la cantidad de registros que encontró el SELECT de tu consulta.

Úsalo para habilitar/deshabilitar el botón de submit de esta forma:

if(mysql_num_rows($result)>0)
//pintas botón habilitado
else
//pintas botón deshabilitado




Nota: no es necesario incluír el ">0", lo puse para que se entendiera mejor. ¿Te funciona esa solución?
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #4 (permalink)  
Antiguo 24/02/2006, 10:36
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 11 años, 10 meses
Puntos: 0
Hola

Uamistad, esto es lo primero que he intentado ya que me parece la opción mas facil..

El probema es que en cuento pongo:

<input name="submit" type="submit" value="Enviar">

Dentro de <? ?> pues directamente me sale una página en blanco... Imagino que se pueda utilizar otra opción pero esta es la que yo utilizo habitualmente desconozco de otra.. Lo he probado son las " por si generaban alguna confusión pero lo mismo la página no aparece cuando intento incluir el submit dentro del "if"....
  #5 (permalink)  
Antiguo 24/02/2006, 12:45
 
Fecha de Ingreso: febrero-2006
Ubicación: Cienfuegos, Cuba
Mensajes: 14
Antigüedad: 11 años, 9 meses
Puntos: 0
sencillo

creo que la mejor forma hacerlo es la de javascript ya que como lo unico que quieres que no se envie si esta vacio encima de la etiqueta <head>
<SCRIPT LANGUAGE="JavaScript">
function Validar(form)
{

if(form.nombre del campo.value=="")
{
alert("Debe introducir el Nombre"); form.nombre del campo.focus();return;
}
form.submit();
}


y luego en en la form pones
<INPUT TYPE="button" VALUE="Enviar datos " onClick="Validar(this.form)" />
este va a ser el boton para enviar el 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




La zona horaria es GMT -6. Ahora son las 08:44.