Hy我正在嘗試驗證註冊表單中的電子郵件地址。我想檢查地址是否存在於數據庫中;檢查數據庫中是否已存在電子郵件jquery + php
我有以下功能:
function validateEmailRepeat(){
// check if email exists in the database;
var emailVal = $('#email').val();
// assuming this is a input text field
$.post('check_email.php', {'email' : emailVal}, function(data) {
if(data==1)
{
email.addClass("error");
emailInfo.text("Adress exists");
emailInfo.addClass("error");
dataExist=1;
}
else {
email.removeClass("error");
emailInfo.text("Valid adress");
emailInfo.removeClass("error");
dataExist=0;
}
});
if(dataExist==1)
return false;
else
return true;
}
的check_email.php看起來是這樣的:
require_once('db.php');
if (isset($_POST['email'])){
$email=mysqli_real_escape_string($con,$_POST['email']);
$sql = "SELECT * FROM users WHERE `username`='".$email."'";
$select=mysqli_query($con,$sql) or die("fail");
$row = mysqli_num_rows($select);
if ($row >0) {
echo 1;
}else echo 0 ;
}
else
echo "post error";
我是新在此。所以,不要強硬。提前致謝。
LE:對不起!我忘了問題... 問題是,如果我在函數形式$ .post 之外定義var dataExist並且如果我讓它像現在在函數中那樣我的函數返回true我得到「dataExist未定義」錯誤並返回true
樂:在PHP返回我想預期的1個0就是這個樣子..
LE: 好像定義
VAR dataExist = 0;
外功能validateEmailRepeat()
解決了這個問題。
如果有另一種更優雅的方式請告訴我,因爲這對我來說似乎有點愚蠢。
你已經告訴我們你在做什麼,但是這裏有什麼問題? – MrCode
請注意:[email protected],[email protected],[email protected],[email protected]等。所有電子郵件都是一樣的 –
您忘了實際提問了。你寫的代碼有一些可觀察的問題嗎?它不像預期的那樣行事?有錯誤嗎?你以什麼方式尋求幫助? – David