Hola a todos tengo un pequeño problema, tengo un formulario con el cual ingreso información a my BD el problema radica cuando el usuario llena sus datos aveces no ingresa correctamente su email.
Ejemplo: para el campo email:
[email protected] ==> hghf@.
le pasao el scripts con el cual valido los campos de my formulario:
Código:
<SCRIPT language="javascript">
<!--
function CambiaPag(pagina)
{
if ( pagina != "" )
{ window.top.location.href=pagina;
}
}
function validar()
{
if (document.m.nombres.value=="")
{
alert('Ingrese un nombre valido');
document.m.nombres.focus();
return ;
}
else
{
if (!isNaN(document.m.nombres.value))
{
alert("Solo se admiten letras");
document.m.nombres.value="";
document.m.nombres.focus();
return;
}
}
if (document.m.apellidop.value=="")
{
alert('Ingrese su apellido paterno correctamente');
document.m.apellidop.focus();
return ;
}
else
{
if (!isNaN(document.m.apellidop.value))
{
alert("Solo se admiten letras");
document.m.apellidop.value="";
document.m.apellidop.focus();
return;
}
}
if (document.m.apellidom.value=="")
{
alert('Ingrese su apellido materno correctamente');
document.m.apellidom.focus();
return ;
}
else
{
if (!isNaN(document.m.apellidom.value))
{
alert("Solo se admiten letras");
document.m.apellidom.value="";
document.m.apellidom.focus();
return;
}
}
if (document.m.dia.selectedIndex==0){
alert("Debe seleccionar un dia")
document.m.dia.focus()
return 0;
}
if (document.m.mes.selectedIndex==0){
alert("Debe seleccionar un mes")
document.m.mes.focus()
return 0;
}
if (document.m.ano.selectedIndex==0){
alert("Debe seleccionar un año")
document.m.ano.focus()
return 0;
}
if (document.m.estadocivil.selectedIndex==0){
alert("Debe seleccionar su estado civil")
document.m.estadocivil.focus()
return 0;
}
if (document.m.dni.value=="")
{
alert('Ingrese su numero de documento correctamente');
document.m.dni.focus();
return ;
}
else
{
if (isNaN(document.m.dni.value))
{
alert("Solo se admiten numeros");
document.m.dni.value="";
document.m.dni.focus();
return;
}
}
if (document.m.domicilio.value=="")
{
alert('Ingrese su domicilio correctamente');
document.m.domicilio.focus();
return ;
}
if (document.m.referencia.value=="")
{
alert('Ingrese una referencia de su domicilio');
document.m.referencia.focus();
return ;
}
if (document.m.distrito.selectedIndex==0){
alert("Debe seleccionar su Distrito")
document.m.distrito.focus()
return 0;
}
if (document.m.telefono.value=="")
{
alert('Ingresar telefono');
document.m.telefono.focus();
return ;
}
else
{
if (isNaN(document.m.telefono.value))
{
alert("Solo se admiten numeros");
document.m.telefono.value="";
document.m.telefono.focus();
return;
}
}
if (comprobar_email(document.m.email.value)==0){
alert("Ingrese su email correctamente");
document.m.email.focus();
return;
}
if (document.m.actividad.selectedIndex==0){
alert("Debe seleccionar su actividad")
document.m.actividad.focus()
return 0;
}
document.m.submit();
}
function comprobar_email($email){
$mail_correcto = 0;
alert("Ingrese su email correctamente")
//compruebo unas cosas primeras
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto = 1;
}
}
}
}
}
if ($mail_correcto)
return 1;
else
return 0;
}
//-->
</script>
tambien les paso el codygo de my formulario.php
Código PHP:
<form name="m" method="POST" action="procesa.php">
Nombres <input type="text" name="nombres" value="">
Apellido Paterno <input type = "text" name="apellidop" value="">
Apellido Materno <input type = "text" name="apellidom" value="">
Sexo
Masculino <input type="RADIO" name="sexo" value="masculino" checked>
Femenino <input type ="RADIO" name="sexo" value="femenino">
Fecha de Nacimiento
<select name="dia">
<option value="" selected>Día</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<select name="mes">
<option value="" selected>Mes</option>
<option value="enero">Enero</option>
<option value="febrero">Febrero</option>
<option value="marzo">Marzo</option>
<option value="abril">Abril</option>
<option value="mayo">Mayo</option>
</select>
<select name="ano">
<option value="" selected>Año</option>
<option value="1940">1940</option>
<option value="1941">1941</option>
<option value="1942">1942</option>
<option value="1943">1943</option>
<option value="1944">1944</option>
</select>
Estado Civil
<select name="estadocivil">
<option value="" selected>Estado Civil</option>
<option value="Soltero">Soltero (a)</option>
<option value="Casado">Casado (a)</option>
<option value="Viudo">Viudo (a)</option>
<option value="Divorciado">Divorciado (a)</option>
</select>
Número de DNI <input type="text" name="dni" value="">
Domicilio <input type = "text" name="domicilio" value="">
Referencia <input type = "text" name="referencia" value="">
Distrito
<select name="distrito">
<option value="" selected>Distrito</option>
<option value="Ate Vitarte">Ate Vitarte</option>
<option value="Breña">Breña</option>
<option value="Cercado de Lima">Cercado de Lima</option>
<option value="La Molina">La Molina</option>
<option value="Lurin">Lurin</option>
<option value="Miraflores">Miraflores</option>
<option value="San Borja">San Borja</option>
<option value="San Isidro">San Isidro</option>
Teléfono <input type = "text" name="telefono" value="">
Celular <input type = "text" name="celular" value="">
E-mail <input type = "text" name="email" value="">
Actividad
<select name="actividad">
<option value="" selected>Actividad</option>
<option value="Independiente">Independiente</option>
<option value="Dependiente">Dependiente</option>
<option value="Estudiante">Estudiante</option>
<option value="Sin actividad">Sin activad</option>
</select>
<input type="button" value="Enviar" onClick="validar()" name="button">
<input type="reset" value="Cancelar" name="reset">
</form>
El problema es que cuando ejecuto este codigo me vota error en la siguiente linea
Código PHP:
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
y me sale un mensaje en el cual me dice que se esperaba un objeto.
De ante mano les agradesco su ayuda.