Hola de nuevo!!
Buf, cuanto tiempo desconectado del proyecto...
Bueno amigo, sigo intentando mirar porque me sale lo de direccion de email incorrecta, y no encuentro error por ningun lado, al menos en cuanto a sintaxis...
a ver si me puedes echar una mano... he provado a cambiar el &estatus=nomail& por un &estatus=ok&, para que aun estando mal la direccion de mail, meta los datos en la base de datos. esto no me da error, yme sale registro con exito, pero no mete los datos en la BD.
aqui pongo de nuevo mi registrar.php :
Código :
<?php
include('conexion.php'); //conectamos con la base de datos
$link = Conectarse();
function quitar($mensaje) //elimina símbolos indeseados
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}
//comprobamos con esta función que la dirección de email escrita es correcta
function comprobar_email($email){
$mail_correcto = 0;
//Hacemos una primera comprobación
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; //mail correcto
else
return 0; //mail incorrecto
}
$comp_email = quitar($_POST["mailL"]);
$i = comprobar_email($comp_email); //llamamos a la función
if ($i != 0) //si la dirección de email es correcta...
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($_POST["usuL"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "&estatus=ocupado&"; //nick ocupado
}
else
{
//insertamos los datos en nuestra base de datos
$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES (";
$sql .= "'".quitar($_POST["usuL"])."'";
$sql .= ",'".quitar($_POST["passL"])."'";
$sql .= ",'".quitar($_POST["mailL"])."'";
$sql .= ",'".quitar($_POST["nombreL"])."'";
$sql .= ",'".quitar($_POST["ciudadL"])."'";
$sql .= ",'".quitar($_POST["edadL"])."'";
$sql .= ")";
mysql_query($sql);
echo "&estatus=ok&"; //registro exitoso
}
mysql_free_result($result);
mysql_close();
}
else
{
echo "&estatus=nomail&"; //mail incorrecto
}
?>