使用php检查重复的电子邮件条目

时间:2013-05-27 18:14:08

标签: php jquery mysql

我正在尝试检查表单提交中的重复电子邮件。

我的php看起来像这样

$value = $_POST['name'];
$value2 = $_POST['email'];
$value3 = $_POST['address'];
$value4 = $_POST['city'];
$value5 = $_POST['state'];
$value6 = $_POST['zip'];
$value7 = $_POST['primary'];
$value8 = $_POST['secondary'];

$sql = "INSERT INTO fusiodoseOne (`name`, `email`, `address`, `city`, `state`, `zip`, `primary`, `secondary`) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7', '$value8')";

if(!mysql_query($sql)){
    die('Error : ' . mysql_error());
}

//

function createUser($email){
   $sql = "SELECT count(email) FROM fusiodoseOne WHERE email='$value2'" ;

   $result = mysql_result(mysql_query($sql),0) ;

   if( $result > 0 ){
    die( "There is already a user with that email!" ) ;
   }//end if

我做错了什么。重复的电子邮件条目仍在进行中

jquery看起来像这样

$.post("demo.php",$(this).serialize(),function(data){    
        $('.successMessageHolder').show();
        $('.alertMsg').hide();
    });

1 个答案:

答案 0 :(得分:0)

我没有得到createUser()函数。

首先:您将$ email作为参数传递,但不要使用它,即您使用$ value2而不是全局范围,除非您将其作为参数传递,否则无法访问它($ email in your case)或在函数体中声明全局。它似乎应该是:

function createUser($email){
   $sql = "SELECT count(email) FROM fusiodoseOne WHERE email='$email'" ;

   $result = mysql_result(mysql_query($sql),0) ;

   if( $result > 0 ){
    die( "There is already a user with that email!" ) ;
   }//end if

第二:这个函数究竟在什么时候被调用?这是一个定义,但它在何处以及如何使用?