У меня есть форма, в которой появляется сообщение с благодарственным сообщением после того, как вы отправили его, однако я хочу, чтобы он предупреждал «недействительный адрес электронной почты», если отправленное вами письмо уже существует в база данных.Используя Ajax, чтобы узнать, существует ли электронная почта в базе данных
Теперь он просто переходит к сообщению благодарности (и не отображает предупреждение), даже если письмо уже существует в базе данных. Я использую ajax для отправки данных формы в базу данных. Что я делаю неправильно в коде?
мой Аякса код:
$(document).ready(function(){
$("#submit").click(function(){
var name = $("#fullname2").val();
var email = $("#fullemail2").val();
var state = $("#selectstate").val();
// Returns successful data submission message when the entered information is stored in database.
var dataString = 'FullName='+ name + '&email='+ email + '&SovereignState='+ state;
if(name==''||email==''||state=='')
{
alert("Please Fill All Fields");
}
else
{
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "demo.php",
data: dataString,
cache: false,
success: function(phpSays){
if (phpSays == "OK"){
alert("invalid email");
}
else {
$('#sinatra2').hide();
$('#thanks').show();
}
}
});
}
return false;
});
});
и это PHP:
<?php
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD','');
define('DB_HOST', '');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) ;
if (!$link) {
die('Could not connect: ' . mysql_error()) ;
}
$db_selected = mysql_select_db (DB_NAME, $link) ;
if (!$db_selected) {
die('Cant use ' . DB_NAME . ': ' . mysql_error()) ;
}
$new_email = $_POST ['email'];
$sql2 = mysql_query ("SELECT email from Data_2 WHERE email = '$new_email");
$row = mysql_fetch_row($sql2);
if(mysql_num_rows($row) > 0) {
echo 'OK' ;
}
else {
$value = $_POST ['FullName'];
$value2 = $_POST ['email'];
$value3 = $_POST ['SovereignState'];
$sql = "INSERT INTO Data_2 (FullName, email, SovereignState) VALUES ('$value', '$value2', '$value3')";
if (!mysql_query ($sql)) {
die('Error: ' . mysql_error());
}
}
mysql_close();
?>
'if (phpSays.trim() ==« ОК ») {' Я полагаю, вы заработали много пробелов, в вашем ответе – joyBlanks
Я не думаю, что вам нужно $ row = mysql_fetch_row ($ sql2); просто используйте if (mysql_num_rows ($ sql2)> 0) { –
Не используйте MySQL_ * Это расширение было устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0. Вместо этого [MySQLi] (http://php.net/manual/en/book.mysqli.php) или [PDO_MySQL] (http://php.net/manual/en/ref.pdo-mysql.php) следует использовать расширение. –