Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -Privacidad y política de cookies -
Ayuda al foro con tu donación

Búsqueda en los foros

Foros en Udias.com / PHP y MySQL / validar mail
Autor Mensaje

Miembro

Asiduo

  Karma             541

#1 Publicado: 26 Oct 2011 20:41



Necesito una ayuda con este tema si es posible.


Hola con la funcion strpos estoy quiero validar el mail de un formulario.

tengo esto:

if ($usuario == "")
{
echo "Debes ingresar un nombre de usuario para registrarte.";
}
elseif ($contrasena1 == "")
{
echo "Debes ingresar una contraseña para registrarte.";
}
elseif ($contrasena2 != $contrasena1)
{
echo "Por favor confirma la contraseña ingresada.";
}
// Aqui una nueva forma para validar el email, usando la funcion "strpos":
elseif (!strpos($email,"@hotmail.") && !strpos($email,"@gmail.") && !strpos($email,"@yahoo.") && !strpos($email,"live.com.") && !strpos($email,"gorlizokela."))
{
echo "El email ingresado es incorrecto.";
}

como puedo poner en vez de gorlizokela, la que esta en negrita, para decirle que se pueden poner cualquier simbolo permitido en un mail.

osea que en esta parte de la funcion:

&& !strpos($email,"gorlizokela." en vez de poner gorlizokela, pueda poner cualquier variable.

muchas gracias por todo.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               26432

#2 Publicado: 26 Oct 2011 21:15



No te compliques la vida, en internet puede encontrar funciones en PHP que validan los correos electrónicos, dentro de lo que se puede comprobar.

Por ejemplo esta

function comprobar_email($email){
$mail_correcto = 0;
//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;
}



Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             541

#3 Publicado: 28 Oct 2011 20:13



Como lo puedo meter en vez de esto que esta en negrita para que funcione:

// Aqui una nueva forma para validar el email, usando la funcion "strpos":

elseif (!strpos($email,"@hotmail.") && !strpos($email,"@gmail.") && !strpos($email,"@yahoo.") && !strpos($email,"live.com.") && !strpos($email,"gorlizokela."))

gracias


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               26432

#4 Publicado: 28 Oct 2011 20:24



Con esta función

$domain = strstr($email, '@');

Luego aplicas el if que quieras

if (!strpos($domain ,"@hotmail.") && !strpos($domain ,"@gmail.com") && !strpos($domain ,"@yahoo.com") && !strpos($domain ,"@live.com") && !strpos($email,"@gorlizokela.com"))

Más o menos


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             541

#5 Publicado: 28 Oct 2011 20:46



soy bastante torpe.

donde pones la funcion y luego como queda el if.
muchas gracias por la paciencia.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               26432

#6 Publicado: 28 Oct 2011 21:05



Lo puedes poner aquí

if (!strpos($domain ,"@hotmail.") && !strpos($domain ,"@gmail.com") && !strpos($domain ,"@yahoo.com") && !strpos($domain ,"@live.com") && !strpos($email,"@gorlizokela.com"))
{$mail_correcto = 0;}


if ($mail_correcto)
return 1;
else
return 0;

}



Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             541

#7 Publicado: 29 Oct 2011 19:29



algo debe estar mal porque lo he probado en un archivo solo y da error
gracias portu paciencia y ayuda


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               26432

#8 Publicado: 29 Oct 2011 21:09



Adjunta el archivo o pon el error que te da.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             541

#9 Publicado: 30 Oct 2011 20:40



Aqui te dejo los dos archivos, uno el del formulario y el otro el que introduce datosw en la base y mira si los campos estan llenos y si el mail es valido.

tu paciencia es infinnita, gracias.

registro.phpArchivo adjunto: registro.php
 
registrar.phpArchivo adjunto: registrar.php
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               26432

#10 Publicado: 30 Oct 2011 21:10



Mira si te funciona así, adjunto el archivo.

registrar.phpArchivo adjunto: registrar.php
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             541

#11 Publicado: 1 Nov 2011 19:33



Hola gracias por todo.
He tenido que borrar el elseif que habia puesto yo antes y fenomenal.



// Aqui una nueva forma para validar el email, usando la funcion "strpos":
elseif (!strpos($email,"@hotmail.") && !strpos($email,"@gmail.") && !strpos($email,"@yahoo.") && !strpos($email,"live.com.") && !strpos($email,"gorlizokela."))

{
echo "El email ingresado es incorrecto.";
}

va de lujo, muchas gracias por todo y un saludo.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela
Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con validar mail

No puedo validar datos javascript
VALIDAR VALOR DE UN COMBOBOX PARA HABILITAR UNA CAJA DE TEXTO
Ayuda para Recoger variable para enviar por Mail


Conectados: Invitados - 12
Miembros - 0
En verde usuarios ZDDR

Realizado con miniBB © 2001-2021
Para Udias.com © 1996-2021
Hosting con Interdominios