Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2012, 04:45
Avatar de ermuni
ermuni
 
Fecha de Ingreso: noviembre-2010
Mensajes: 33
Antigüedad: 9 años, 2 meses
Puntos: 1
Evitar registros duplicados formulario

Hola de nuevo amigos, bueno, hace poco abrí un post para preguntar una dudita que tenía y fue resuelta facilmente. Pues bien, esta vez tengo otra duda, he intentado solventarla a partir de la información que he encontrado en otros post con dudas similares, pero me ha sido imposible.

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> 
php
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!";
    
}
    
?>