Hola amigos,
Estoy intentando validar un e-mail con Ajax y Javascript. Vaya por delante que nunca he programado con Ajax y que estoy realmente perdida.
Por una parte valido el e-mail con javascript con una función que contiene un patrón:
//Email
function validarEmailReg(evento){
exprEMAIL= new RegExp (/^[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}$/);
email=document.getElementById("email").value;
if (!(email.match(exprEMAIL))){
document.getElementById("email").style.backgroundC olor="#feeeee";
document.getElementById("email").style.border="1px solid #e39797";
document.getElementById("email").focus();
evento.preventDefault();
return false
}
return true;
}
Luego esta función está conectada con otra que se llama validar, que valida todos los campos del formulario y si todo está correcto lo envía a la base de datos.
Esto si me lo hace bien. Ahora: el problema está en que mi página los nombres de usuario son iguales que los e-mail, por lo tanto no debe haber en la base de datos dos usuarios con el mismo email, para ello me he creado otra función con javascript y ajax:
<script type="text/javascript">
//<![CDATA[
function comprobar(usuario){
var url = 'includes/ajax_comprobar_nick.php';
var email=document.getElementById("email").value;
var pars='email='+email;
var myAjax = new Ajax.Updater( 'comprobar_mensaje', url, { method: 'get', parameters: pars});
}
// -->
</script>
y la parte de php que busca el email en la base de datos:
$email=$_REQUEST['email'];
$consulta="SELECT count(Email) as cuenta FROM usuarios WHERE Email='".$email."'" or die ("Error en la consulta");
$datos=mysql_query($consulta,$con) or die ("Error en el procesado de datos");
$fila=mysql_fetch_array($datos) or die ("error");
// El usuario existe en la Base de Datos
if($fila['cuenta']>0)
{
echo "El email ya existe, introduce otro.";
}
Ahora bien, no se cómo conectar estas dos partes, por un lado la validación del email con el patrón y por el otro comprobar si el email ya está en la base de datos.
¿Qué hago?