質問

AJAXとPHPを使用して問題を抱えています。私がやろうとしているのは、フォームの入力から値をつかむajax関数を呼び出し、そのメールがデータベースに存在するかどうかをチェックすることです。これが私の現在のJavaScriptです:

//Checks for Existing Email
function checkExisting_email() {
    $.ajax({
        type: 'POST',
        url: 'checkExist.php',
        data: input
    });

emailExists = checkExisting_email();

//If it exists
if (emailExists) {
    alert("This email already exists!");
}

残念ながら、私は自分のアラートを消すことができません。私のPHP関数では、入力がユーザー名か電子メールであるか(私の目的のためだけであるため、ご存知のように)チェックしてから、どちらの列でも検索します。それが見つかった場合、それは真実に戻り、そうでない場合、それは虚偽を返します:

include ('func_lib.php');
connect();
check($_POST['input']);

function check($args)
{
    $checkemail = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";
    if (!preg_match($checkemail, $args)) {
        //logic for username argument
        $sql = "SELECT * FROM `users` WHERE `username`='" . $args . "'";
        $res = mysql_query($sql) or die(mysql_error());

        if (mysql_num_rows($res) > 0) {
            return true;
        } else {
            return false;
        }
    } else {
        //logic for email argument
        $sql = "SELECT * FROM `users` WHERE `email`='" . $args . "'";
        $res = mysql_query($sql) or die(mysql_error());

        if (mysql_num_rows($res) > 0) {
            return true;
        } else {
            return false;
        }
    }

}

私の問題は、Ajaxがこれらのリターンにどのように反応するか、そしてそれに応じてAjaxを機能させるにはどうすればよいですか?主に、なぜこれが機能しないのですか?

どんな助けもとても感謝しています。ありがとうございました!

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top