SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: gokufast en Viernes 12 de Octubre de 2007, 23:18

Título: No Aceptar Texbox En Blanco
Publicado por: gokufast en Viernes 12 de Octubre de 2007, 23:18
necesito que php me pueda generar un mensaje o algo que le diga al usuario que no ingreso los text box que son obligatorios.

lo intente mediande javascript pero solo me funciona con el internet explorer y no con el firefox.

la cosa es asi, tengo mi formulario en htm, y otra en php donde despliego los datos obtenidos con GET de mi form.



gracias
Título: Re: No Aceptar Texbox En Blanco
Publicado por: giomar en Viernes 12 de Octubre de 2007, 23:25
usa la funcion strlen(dato_a_validar) para preguntar si se ingreso algun dato
Título: Re: No Aceptar Texbox En Blanco
Publicado por: Mollense en Sábado 13 de Octubre de 2007, 09:15
Cita de: "gokufast"
necesito que php me pueda generar un mensaje o algo que le diga al usuario que no ingreso los text box que son obligatorios.

lo intente mediande javascript pero solo me funciona con el internet explorer y no con el firefox.

la cosa es asi, tengo mi formulario en htm, y otra en php donde despliego los datos obtenidos con GET de mi form.



gracias
Te recomiendo que realices la validación en ambos lados:
Desde JavaScript para evitar que se recargue la página en caso de que no valide.
Desde PHP por otros motivitos varios  :rolleyes: .

Colocá el código que usaste para validar con JavaScript para ver cual es el error.

Saludos :beer:
Título: Re: No Aceptar Texbox En Blanco
Publicado por: gokufast en Lunes 15 de Octubre de 2007, 17:43
<script>
function valida_envio1()
{
   if ((login_ap_vol.codigo.value=="")||(login_ap_vol.apellido.value==""))
   {
   alert('Falta Ingresar Datos');
   login_ap_vol.codigo.focus()
   return true;
   }
   login_ap_vol.submit();
}
</script>


FORMULARIO:

<form method="GET"  action="saldos_ap_vol_2.php" name="login_ap_vol" target="_blank">

<div align="justify">
<font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif" class="texto_pagina"><br>
La Actualizacion de los Aportes Voluntarios se lo Realiza Semanalmente.<br>
</font></div><hr>

<strong>Apellido Paterno Socio: </strong>
<input type="text" name="apellido" size="20">

<p><strong>Numero de Socio: </strong>
<input type="password" name="codigo" size="20">
<br><br><p>

<input type="button" name="enviar" value="Enviar" onclick="valida_envio1();">
<input name="cancelar" type="reset" value="Borrar">
</form>
Título: Re: No Aceptar Texbox En Blanco
Publicado por: Altareum en Martes 16 de Octubre de 2007, 22:03
Para acceder correctamente al formulario utiliza:
Código: Text
  1.  
  2. (document.login_ap_vol.codigo.value==&#34;&#34;)
  3.  
  4.  

En php, simplemente basta con que hagas:
Código: Text
  1.  
  2. if(&#036;_GET['codigo'])
  3.  
  4.  

o si lo prefieres:
Código: Text
  1.  
  2. if(trim(&#036;_GET['codigo']))
  3.  
  4.  


Altareum.
Título: Re: No Aceptar Texbox En Blanco
Publicado por: -DriverOp- en Miércoles 17 de Octubre de 2007, 00:39
Mejor aún:
Código: Text
  1.  
  2. if (empty(&#036;_GET['codigo'])) { ...
  3.  
  4.  

Pero más seguro es:
Código: Text
  1.  
  2. &#036;codigo = @&#036;_GET['codigo'];
  3. if (empty(trim(&#036;codigo))) { ...
  4.  
  5.  
Título: Re: No Aceptar Texbox En Blanco
Publicado por: Altareum en Miércoles 17 de Octubre de 2007, 16:20
Citar
Mejor aún:
Código: Text
  1.  
  2. if (empty(&#036;_GET['codigo'])) { ...
  3.  
  4.  

No es necesario, php, así como muchos lenguajes de programación dan como falsa una variable cuyo valor sea null, 0 (cero) o una cadena vacía.

Esto puede verse en la tabla P-1. Comparaciones de $x con funciones PHP, del siguiente link, en la última columna "if($x)":
Tablas de comparación de tipos PHP (http://ar2.php.net/manual/es/types.comparisons.php)


Citar
Pero más seguro es:
Código: Text
  1.  
  2. &#036;codigo = @&#036;_GET['codigo'];
  3. if (empty(trim(&#036;codigo))) { ...
  4.  
  5.  

Según el manual de php:
Citar
Nota:  empty() sólo chequea variables ya que cualquier otra cosa producirá un error de intérprete. En otras palabras, lo siguiente no funcionará: empty(trim($name)).
Funcion Empty (http://ar2.php.net/manual/es/function.empty.php)


Altareum.
Título: Re: No Aceptar Texbox En Blanco
Publicado por: gokufast en Jueves 18 de Octubre de 2007, 21:31
una pregunta, en mi formulario tengo el target asi:
<form method="GET" action="saldos_ap_vol_2.php" name="login_ap_vol" target="_blank">

eso puede influir en que no funcione en el firefox?
Título: Re: No Aceptar Texbox En Blanco
Publicado por: gokufast en Viernes 19 de Octubre de 2007, 00:16
Cita de: "Altareum"
En php, simplemente basta con que hagas:
Código: Text
  1.  
  2. if(&#036;_GET['codigo'])
  3.  
  4.  

o si lo prefieres:
Código: Text
  1.  
  2. if(trim(&#036;_GET['codigo']))
  3.  
  4.  

Como le Hago para mostrar un mensaje en pantalla, de que falta tal o cual dato.


PD.-Gracias por lo de document. etc etc. ahora ya funciona con los browsers mas comunes, (bueno yo lo probe con IE y Firefox).
Título: Re: No Aceptar Texbox En Blanco
Publicado por: -DriverOp- en Viernes 19 de Octubre de 2007, 12:50
Con
Código: Text
  1. echo(&#34;mensaje&#34;);
  2.  
tal vez?... :blink:
Título: Re: No Aceptar Texbox En Blanco
Publicado por: gokufast en Viernes 19 de Octubre de 2007, 15:11
bueno ya esta medio finalizado, solamente es afinar algunas cosas. aca les pongo el codigo para el form y para el PHP

FORMULARIO:

<script>
function valida_envio1()
{
if (document.login_ap_vol.apellido.value =="")
{alert('Por favor ingrese su Apellido Paterno'); document.login_ap_vol.apellido.focus(); return false;}
if (document.login_ap_vol.codigo.value =="")
{alert('Por favor ingrese su Codigo de Socio'); document.login_ap_vol.codigo.focus(); return false;}
document.login_ap_vol.submit();
}
</script>

<input type="button" name="enviar" value="Enviar" onclick="valida_envio1();">

PHP:

$cod=$_GET[codigo];
if(isset($cod))
{
if(trim($cod) == '')
{
echo '<center><br><br><h1><b>ERROR!!! <br> Falta Ingresar Algun Dato</b></h1>
<br>HAGA CLIC <a href="http://www."><B>AQUI</B></a> PARA VOLVER A INGRESAR SUS DATOS
<br><br><br><br><br><br>
</center>';
}
}


espero que le sirva a alguien, y gracias por la ayuda a todos
Título: Re: No Aceptar Texbox En Blanco
Publicado por: F_Tanori en Sábado 20 de Octubre de 2007, 11:22
deberias de usar las etiquetas [CODE ] para publicar tu codigo


Por otra parte seria mejor (creo yo) almacenar todos los mensajes de error en una variable y despues mostrarlos todos

Código: Text
  1.  
  2. function valida_envio1()
  3. {
  4.    var error=false,msg='';
  5.  
  6.    if (document.login_ap_vol.apellido.value ==&#34;&#34;)
  7.       {
  8.          msg='Por favor ingrese su Apellido Paterno&#092;n'
  9.          error=true;
  10.        }
  11.  
  12.     if (document.login_ap_vol.codigo.value ==&#34;&#34;)
  13.         {
  14.               msg=msg+'Por favor ingrese su Codigo de Socio';
  15.               document.login_ap_vol.codigo.focus();
  16.               error=true;
  17.        }
  18.  
  19.     if (!error)
  20.       {
  21.            document.login_ap_vol.submit();
  22.         }
  23.    else
  24.       {
  25.           alert(msg);
  26.        }
  27. }
  28.  
  29.  

* - No lo probe, pero espero se entienda la idea
*-
Código: Text
  1.  document.login_ap_vol.apellido.value==&#34;&#34;
  2.  
No valida si esta vacio porque bien pueden ser espacios [doHTML]"      "[/doHTML] etc..

Saludos