Foros del Web » Programando para Internet » PHP »

He probado todo. Validad EMAIL

Estas en el tema de He probado todo. Validad EMAIL en el foro de PHP en Foros del Web. Hola, no consigo validad el email, solo me funciona si lo dejo en blanco, pero NO me funciona si NO pongo un @, si no ...
  #1 (permalink)  
Antiguo 28/12/2009, 05:39
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 4 meses
Puntos: 2
He probado todo. Validad EMAIL

Hola, no consigo validad el email, solo me funciona si lo dejo en blanco, pero NO me funciona si NO pongo un @, si no pongo .net...

He probado muchisimos códigos (sacados de aquí y de san google)

Alguien puede ayudarme?

Tengo esto AHORA:

Código:
//En blanco
if(empty($email)) {
        die("Espacio en Blanco");
    }
$largo = strlen($email);

$com_net = substr($email, -4, $largo);

//Funciona?
if(! strstr($email,"@")){

header("location: aaerrro.html");

}
else if($largo < 10){

header("location: corto.html");

}else if($com_net !== '.com'){

header("location: nocom.html");

}else if($com_net !== '.net'){

header("location: nonet.html");

}
Pero INSISTO que he probado de todo, expresiones regulares, funciones... y NO funciona...

Si necesitais que os ponga el php entero os lo pongo, lo raro es que el emty SI funciona
  #2 (permalink)  
Antiguo 28/12/2009, 05:47
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: He probado todo. Validad EMAIL

Código PHP:
Ver original
  1. function checkEmail($email){
  2.     $reg = "#^(((([a-z\d][\.\-\+_]?)*)[a-z0-9])+)\@(((([a-z\d][\.\-_]?){0,62})[a-z\d])+)\.([a-z\d]{2,6})$#i";
  3.     return preg_match($reg, $email);  
  4. }
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 28/12/2009, 05:51
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: He probado todo. Validad EMAIL

He puesto:

Código:
//En blanco
if(empty($email)) {
        die("Espacio en Blanco");
    }
function checkEmail($email){
    $reg = "#^(((([a-z\d][\.\-\+_]?)*)[a-z0-9])+)\@(((([a-z\d][\.\-_]?){0,62})[a-z\d])+)\.([a-z\d]{2,6})$#i";
    return preg_match($reg, $email);   
}
y nanai
  #4 (permalink)  
Antiguo 28/12/2009, 05:57
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: He probado todo. Validad EMAIL

ermm
ahi definiste la funcion pero no la has utilizado

debes usarla asi

echo (chekEmail($email)) ? "Valido" : "No Valido";
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 28/12/2009, 05:59
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: He probado todo. Validad EMAIL

Código:
//En blanco
if(empty($email)) {
        die("Espacio en Blanco");
    }
function checkEmail($email){
    $reg = "#^(((([a-z\d][\.\-\+_]?)*)[a-z0-9])+)\@(((([a-z\d][\.\-_]?){0,62})[a-z\d])+)\.([a-z\d]{2,6})$#i";
    return preg_match($reg, $email);   
}
echo (checkEmail($email)) ? "Valido" : "No Valido";
Pongo 16 y me lo acepta (me lo inserta en la bdd)
  #6 (permalink)  
Antiguo 28/12/2009, 06:01
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: He probado todo. Validad EMAIL

-.- !

mejor pone todo el codigo, ya que dentro debes condicionar el ingreso a la db dependiendo del resultado del checkEmail...

ahi solo tiras el mensaje pero sea valido o no lo insertas igual
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 28/12/2009, 06:05
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: He probado todo. Validad EMAIL

Código:
<?php
	//Iniciamos Sesion
	session_start();
	
	//Conexion
	require_once('config.php');
	
	//Array de errores
	$errmsg_arr = array();
	
	//Variable de error
	$errflag = false;
	
	//Conectamos con base de datos
	$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
	if(!$link) {
		die('Error en conexión con el servidor: ' . mysql_error());
	}
	
	// base de datos
	$db = mysql_select_db(DB_DATABASE);
	if(!$db) {
		die("No hay base de datos con ese nombre");
	}
	

	function clean($str) {
		$str = @trim($str);
		if(get_magic_quotes_gpc()) {
			$str = stripslashes($str);
		}
		return mysql_real_escape_string($str);
	}
	
	
	
        $email = clean($_POST['email']);

//En blanco
if(empty($email)) {
        die("Espacio en Blanco");
    }
function checkEmail($email){
    $reg = "#^(((([a-z\d][\.\-\+_]?)*)[a-z0-9])+)\@(((([a-z\d][\.\-_]?){0,62})[a-z\d])+)\.([a-z\d]{2,6})$#i";
    return preg_match($reg, $email);   
}
echo (checkEmail($email)) ? "Valido" : "No Valido";

	
	


	//Existe?
	if($email != '') {
		$qry = "SELECT * FROM EMAIL WHERE email='$email'";
		$result = mysql_query($qry);
		if($result) {
			if(mysql_num_rows($result) > 0) {
				$errmsg_arr[] = 'Login ID already in use';
				$errflag = true;
			}
			@mysql_free_result($result);
		}
		else {

		}
	}
	
	//Si hay error, le volvemos a que se registre
	if($errflag) {
		$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
		session_write_close();
		header("location: fallo.html");
		exit();
	}

	//Create INSERT query
	$fecha= date('d-m-Y');
        $hora= date('H:i:s');
        $qry = "INSERT INTO EMAIL (email,ip,fecha,hora) VALUES ('$email','$_SERVER[REMOTE_ADDR]','$fecha','$hora')";
        $result = mysql_query($qry)or die(mysql_error());
	
	//Check whether the query was successful or not
	if($result) {
		header("location: correcto.html");
		exit();
	}else {
		die("$email");

	}
?>
  #8 (permalink)  
Antiguo 28/12/2009, 06:20
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: He probado todo. Validad EMAIL

//Existe?
if($email != '' && checkEmail($email)) {
$qry = "SELECT * FROM EMAIL WHERE email='$email'";
__________________
More about me...
~ @rhyudek1
~ Github
  #9 (permalink)  
Antiguo 28/12/2009, 06:27
 
Fecha de Ingreso: julio-2009
Mensajes: 157
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: He probado todo. Validad EMAIL

tampoco...

Pongo "17" o "juan" y me lo acepta e inserta
  #10 (permalink)  
Antiguo 28/12/2009, 06:56
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: He probado todo. Validad EMAIL

Disculpame MiguelFT si ya habias habierto un post para esto, para que abriste otro???
Es mas, yo mismo te conteste... Ademas es evidente que el probelma esta en que algo estas usando mal...
A mi me funciona el codigo que te pase en el post anterior (que es el mismo con el que iniciaste el tema)
No te lo tomes a mal, pero yo que vos frenaria un cacho, paro con todo y me fijo a ver si realmente YO no estoy haciendo algo mal. Nque sentido tiene postear TODO el codigo de nuevo y poner "no me anduvo, ayuda x favor..."
Estamos para ayudar no para hacerte el script entero!
__________________
HV Studio
Diseño y desarrollo web
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:02.