tengo el siguiente codigo:
$.ajax({
url: urlweb + 'inc/adduser.php',
type: 'POST',
//data: 'user=' +user + '&correo=' +correo+ '&pass1=' +pass1,
data: $('#formRegistro').serialize(),
success: function(respuesta){
if (limpiar(respuesta)=='correcto'){
//ir a la pagina de login
location.href = urlweb + 'iniciar';
}
else if (limpiar(respuesta)=='existe'){
//mostrar error
$('#registro-error').fadeIn(500);
$('#registro-mensaje').text('El correo ya está en uso');
}
}
})

es de un video que encontré en YouTube. Mi adduser es así:
<?php require_once('../conexiones.php');


//validacion de formulario
if (!isset($_POST['user']) || $_POST['user'] == '' || $_POST['correo'] == '' || $_POST['pass1'] == '') exit;

//verificar correo
$accion_email=sprintf("SELECT * FROM p_users WHERE email=%s",
formatocadena($_POST['correo'],'text'));
$consulta_email=mysqli_query($conexion,$accion_email);
$datos_email=mysqli_fetch_assoc($consulta_email);
$cantidad_email=mysqli_num_rows($consulta_email);

if($cantidad_email==0){
//insertar registro
$accion_adduser = sprintf("INSERT INTO p_users (user,email,password) VALUES (%s,%s,%s)",
formatocadena($_POST['user'],'text'),
formatocadena($_POST['correo'],'text'),
formatocadena(md5($_POST['pass1']),'text'));
$consulta_adduser = mysqli_query($conexion,$accion_adduser) or die(mysqli_error());
echo 'correcto';
}
else echo 'existe';

mysqli_free_result($consulta_email);


?>

cuando verifica que el email existe devuelve existe pero el valor no es capturado por la variable respuesta a lo que veo porque no despliega el error

Qué estoy haciendo de forma incorrecta?

Saludos
Editado
0
Puntos
1023
Visitas
7
Resp
Por russo20 hace 7 años
Novice
Respuesta #1
hola, seguro que te está sacando un espacio en blanco en las respuesta y no lo ves

por ejemplo existe(espacio) o (espacio)existe

es decir por delante o por detras por eso al no ser la respuesta exactamente igual que la condición, no te funciona

revisas espacios en blanco de php que tengas por el proyecto y saltos de linea
0
Puntos
Por alber hace 7 años
Admin
Respuesta #2
ok acabo de mirar bien el código y estas usando la función limpiar() que se encarga de eliminar esos espacios en blanco, tu problema es solo que al devolver existe no te sale el error?

cuando hace el registro correcto te redirecciona a iniciar? saludos
0
Puntos
Por alber hace 7 años
Admin
Respuesta #3
cuando reviso en inspeccionar dentro del preview aparece existe, pero no despliega el error.
0
Puntos
Por russo20 hace 7 años
Novice
Respuesta #4
si te dice existe y la alarma no salta es que no tienes bie puesta la id de la capa #registro-error o #registro-mensaje

si no se soluciona con eso deja en el hilo el codigo html.que tienes en la pagina registro y lo miramos
0
Puntos
Por alber hace 7 años
Admin
Respuesta #5
vale creo que se lo que pasa, esta función var cadena=valor.split(' ').join(''); te elimina cuando tienes 1 espacio en blanco pero cuando tienes varios no.

Es posible que sea por eso, mira haz una cosa.. haz que el mensaje de existe aparezca abajo en la network algo parecido a esto:
3_30_Captura
a ti en vez de error te va a aparecer existe, pues bien... cuando veas ahí la respuesta de existe quiero que lo selecciones como para copiarlo pero de izquierda a derecha

si cuando copias de izquierda a derecha ves que al final tienes un hueco azul es por que tienes un espacio en blanco y no lo ves hasta que no lo seleccionas como para copiarlo

creo que se entiende no???
1
Puntos
Por alber hace 7 años
Admin
Respuesta #6
Listo! ya funciona. Muchas gracias
0
Puntos
Por russo20 hace 7 años
Novice
Respuesta #7
genial!! cerramos el tema entonces, para cualquier otra consulta que necesites abre uno nuevo please

salu2
1
Puntos
Por alber hace 7 años
Admin
Para comentar Inicia sesión o Regístrate
Phpres 2025@ All rights reserved.
Utilizamos cookies para mejorar la navegación en el sitio. Más información Aceptar