0


0

jQueryでテキストフィールド値をPHPファイルに送信できません

このテキストフィールド値をjQueryを使用してphpファイルに送信したいと思います。

HTMLコード

    Email:

jQueryコード:

$(document).ready(function()
{
    $("#email").blur(function()
    {
        $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");

        $.post("availability.php", { email: $(this).val() }, function(data)
        {
            if(data == 'yes')
            {
                $("#msgbox").fadeTo(200, 0.1, function()
                {
                    $(this).html('Email Already exists').addClass('messageboxerror').fadeTo(900,1);
                });
            }
            else
            {
                $("#msgbox").fadeTo(200, 0.1, function()
                {
                    $(this).html('Email available to register').addClass('messageboxok').fadeTo(900,1);
                });
            }
        });
    });
});

PHPコード:

include_once $_SERVER['DOCUMENT_ROOT'] . '/braddclient/includes/magicquotes.inc.php';
include $_SERVER['DOCUMENT_ROOT'] . '/braddclient/includes/db.inc.php';

$email = mysqli_real_escape_string($link, $_POST['email']);

$sql = "SELECT * FROM bradduser WHERE email='$email'";
$result = mysqli_query($link, $sql);

if(!$result)
{
    $error = 'Error fetching email from bradduser.';
    include 'error.html.php';
    exit();
}

if(mysqli_num_rows($result) > 0)
{
    echo ‘yes’; //email already exist
}
else
{
    echo ‘no’;
}

コードの問題は、jqueryとphpの間の通信ではないように見えることです。 データはphpへの送信を拒否されました。 コードの何が問題なのかを確認してください。

2 Answer


2


「エコー「はい」;」は有効なシンタックスではありません

try:

`echo 'yes';`一重引用符付き

あなたのjQueryスクリプトは大丈夫ですが、 `availability.php`に問題があると思います

  • 同じフォルダーにあるかどうかを確認し、同じフォルダーにない場合は、相対パスを入れます

  • データベース接続を確認してください

  • 「」の代わりに「」があるかどうかを確認します

  • 引数を指定して availability.php`にアクセスし、テストしてみてください `$ _REQUEST ['email']`を使用してから元に戻します。 (例: `http://www.example.org/availability.php?email = blabla @ example.org


1


一見正しいように見えるので、いくつかの点を見てください:

  • 「availability.php」はどこにありますか? それはページと同じフォルダにありますか jQueryスクリプトは実行されますか? そうでない場合は、パスを変更する必要があります。たとえば、サイトルートにある場合は「/availability.php」、サブフォルダーにある場合は「/folder/availability.php」です。

  • Firefoxをまだ入手していない場合は、 Firebug; Firebugは、ページから行われているAJAXリクエストと、サーバーが返しているものを表示します。これは非常に便利です。