2013-05-27 2 views
0

Я пытаюсь проверить дубликаты писем в форме submit.проверьте наличие дубликата электронной почты, используя php

Мой 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

Вы передаете '$ email' в свою функцию createUser, но затем используете' $ value2' внутри запроса. – andrewsi

+4

Прежде чем предотвращать дублирование электронных писем, я бы научился защищать от SQL Injection, а также использовать mysqli или PDO вместо функций mysql. – user2406160

+0

Проверьте результат своего запроса и посмотрите, правильно ли он [http://sqlfiddle.com/](http://sqlfiddle.com/) – djthoms

ответ

0

Я не получаю функцию CreateUser().

Первый: вы передаете $ email как параметр, но не используете его, т. Е. Вместо этого вы используете $ value2, который находится в глобальной области видимости, и вы не можете получить к нему доступ, если вы не передадите его как параметр ($ email in ваш случай) или объявить глобальным в теле функции. Кажется, что это должно быть:

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 

Во-вторых: В какой точке именно называется функция? Это определение, но где и как оно используется?

Смежные вопросы