2016-10-16 8 views
0

jQuery、AJAX、PHP、およびMySQLを使用して、フォームに入力された電子メールがデータベースに既に存在するかどうかを確認しようとしています。 これは私の現在のjQueryのコードです:jQuery AJAXが何らかの理由でデータベースに電子メールが存在しないか確認する

$.post('check-email.php', {'suEmail' : $suEmail}, function(data) { 
    if(data=='exists') { 
    validForm = false; 
    $suRememberMeCheckbox.css('top', '70px'); 
    $suRememberMeText.css('top', '68px'); 
    $signUpSubmit.css('top', '102px'); 
    $tosppText.css('top', '115px'); 
    $suBox.css('height', '405px'); 
    $suBox.css('top', '36%'); 
    $errorText.text('The email has been taken.'); 
    return false; 
    }; 
}); 

そして、これは私のPHPコードです:

<?php include("dbconnect.php") ?> 
    <?php 
    $sql = "SELECT email FROM users WHERE email = '" .$_POST['suEmail'] . "'"; 
    $select = mysqli_query($connection, $sql); 

    if (mysqli_num_rows($select) > 0) { 
     echo "exists"; 
    } 
?> 

私は、データベースにすでに電子メールを使用する場合、私は、サインアップフォームを通過すると、エラーテキストは決して私が指定したものに変更されるのではなく、コード化されたいくつかの他のエラーケースに変わります。なぜこれは動作していません!本当にありがとう!

+0

をエラーは何ですか? – Matthew

+0

どのようなエラーが表示されますか? – VladGincher

+0

alertまたはconsole.logを入れ、 "data"の値を確認してください –

答えて

0

あなたが応答で

てみてください余分な空白があるとします。

if(data.trim()=='exists') { 
+0

これを追加しましたが、フォームはエラーを表示せずに成功ページに移動します。本当にありがとう! –

+0

あなたが行っていることであればフォームの送信を防ぐために、そのコールバックで 'return false;'を使うことはできません。 Ajaxは非同期です – charlietfl

+0

ありがとうございますcharlietfl!それはうまくいった! –

関連する問題