La duda es la siguiente, tengo un formulario conectado a una base de datos, donde los usuarios ingresan tres simples datos (nombre, apellidos y email). Mi problema es que no quiero que haya duplicados de e-mail en el registro, es decir que una persona se registre mas de una vez con el mismo e-mail.
He intentado con diferentes códigos que he visto por el foro y sigo con el mismo problema, se puede seguir registrando con el mismo e-mail como veces se quiera.
Pongo el código del formulario (por si acaso) y del php a ver si podeis ayudarme, se que solo será añadir un par de lineas de forma adecuada, pero no se cual, seguro que para vosotros no es nada. Muchas gracias.
Gracias
Formulario
Código HTML:
<form id="f" name="f" method="post" action="registrar_c.php" onsubmit="return envioR();"> <table width="200" border="0"> <tbody><tr> <td> <input name="txtnombre" type="text" id="txtnombre" value="Nombre" onclick="javascript:limpiar('txtnombre')"> </td> </tr> <tr> <td><input name="txtapellidos" type="text" id="txtapellidos" value="Apellidos" onclick="javascript:limpiar('txtapellidos')"></td> </tr> <tr> <td><input name="txtemail" type="text" id="txtemail" value="Email" onclick="javascript:limpiar('txtemail')"></td> </tr> <tr> <td><input type="submit" name="Submit" value="Apuntarme"></td> </tr> </tbody></table> </form> <script language="JavaScript" type="text/javascript"> function limpiar(campo){ var f = document.getElementById("f"); if(campo == "txtnombre") f.txtnombre.value = ""; if(campo == "txtapellidos") f.txtapellidos.value = ""; if(campo == "txtemail") f.txtemail.value = ""; } function envioR(){ try{ var ERG_email = /^(.+\@.+\..+)$/; var f = document.getElementById("f"); if (f.txtnombre.value == "" || f.txtnombre.value == "Nombre"){ f.txtnombre.value="Escribe tu nombre"; return false; } if (f.txtapellidos.value == "" || f.txtapellidos.value == "Apellidos"){ f.txtapellidos.value="Escribe tus apellidos"; return false; } if (f.txtemail.value == "" || f.txtemail.value == "Email"){ f.txtemail.value="Escribe tu E-mail"; return false; } if(!ERG_email.test(f.txtemail.value)) { f.txtemail.value="Formato de email incorrecto"; return false; } }catch(unerror){ alert(unerror); return false; } } </script>
Código PHP:
<?php
include("conexion.php");
if(isset($_POST['txtnombre']) && !empty($_POST['txtnombre']) &&
isset($_POST['txtapellidos']) && !empty($_POST['txtapellidos']) &&
isset($_POST['txtemail']) && !empty($_POST['txtemail']))
{
$con=mysql_connect($host,$user,$pw)
or die ("problemas al conectar server");
mysql_select_db($db,$con)
or die ("problemas al conectar db");
mysql_query("INSERT INTO registro (NOMBRE,APELLIDOS,EMAIL)
VALUES ('$_POST[txtnombre]','$_POST[txtapellidos]','$_POST[txtemail]')",$con);
echo"Acabas de apuntarte correctamente al sorteo. Buena suerte!";
}
?>