Hola señores
Estoy trabajando una webapp al que los usuarios pueden enviar un mensaje y no más, por lo que necesito validar que el email usado para el mensaje ya no esté registrado en la base de datos. Tengo lo siguiente:
Código PHP:
$usr_email = $_POST['email'];
$usr_from = $_POST['from'];
$usr_to = $_POST['to'];
$usr_message = $_POST['message'];
$exe = $_POST['exe'];
if ($exe == 'save')
{
$db_srh = mysql_query ('SELECT * FROM mensajes WHERE usr_email=' . $usr_email);
$db_srhCan = @mysql_num_rows($db_srh);
if( $db_srhCan == 0 )
{
mysql_query ("INSERT INTO mensajes (msgid,usr_email,usr_from,usr_to,usr_msg) VALUES ('NULL','". $usr_email ."','". setAcentos($usr_from) ."','". setAcentos($usr_to) ."','". setAcentos($usr_message) ."')");
echo 'mensaje_guardado';
} else
{
echo 'email_existente';
break;
}
}
Esto funciona. Si no fué usado antes ese correo para enviar mensaje, este sea agrega a la base de datos y muestra la alerta "mensaje_guardado". Mi problema es cuando el correo ya se encuentra en la BD, que aunque no agrega el mensaje, no me muestra el mensaje "email_existente" como entiendo debería.
¿Qué puedo estar haciendo mal?
Como nota adicional, en la tabla de la BD, la variable "usr_email" está definida como única, por eso entiendo que no agrega el nuevo mensaje, aunque no estoy seguro qué estará pasando.