1

送信時に、それぞれ一致するパスワードとドメイン名を検証する登録フォームがあります。true の場合、ajax リクエストを介してドメイン名が DB に存在しないことを確認しようとしています。

<div class="grid-6">
                <p>
                    <label for="First Name">First Name:</label>
                    <input type="text" name="first_name" placeholder="James" required value="">
                    <label for="Last Name" name="lastname">Last Name:</label>
                    <input type="text" name="last_name" placeholder="Brown" required value="">
                    <label for="email">Email:</label>
                    <input type="email" name="email" placeholder="email@email.com" required value="">
                    <label for="Preferred Password">Preferred Password:</label>
                    <input id="og_password" type="password" name="password" required value="">
                    <label for="Confirm Password">Confirm Password</label>
                    <input id="confirm_password" type="password" name="password_confirm" required value="">
                </p>
            </div><!-- /grid-6-->
            <div class="grid-6">
                <p>
                    <label for="Domain Name">Domain Name <span class="italic red">(lowercase letters and numbers only - no spaces):</span></label>
                    <input id="domain_name_a" type="text" name="domain_name_a" placeholder="mystudioname" required value="">
                    <label for="Domain Name">Confirm Domain Name:</label>
                    <input id="domain_name_b" type="text" name="domain_name_b" placeholder="mystudioname" required value="">
                </p>
            </div>

JS

unction passwordMatch() {
var pass1 = $('#og_password').val();
var pass2 = $('#confirm_password').val();

var domain1 = $('#domain_name_a').val();
var domain2 = $('#domain_name_b').val();

var error = true;

if(pass1 != pass2){
    alert("Your passwords do not match!");
    return  false; // cancel form submission if passwords don't match
}
if(domain1 != domain2){
    alert("Your domain names do not match!");
    return  false;
}
//no errors check DB for domain exits
checkDomain(domain1);
}

    function checkDomain(domain) {
        alert(domain);//testing only
        $.ajax({
            type:"POST",
            url: "/actions/domain.php",
            data: {
                domain:domain
            }
        success: function(result) {
            if(result = false) {
                alert(result);
            } else {
                alert(result);
            }
        }
        });
    }

正しい値を返すアラート (ドメイン) を正常に処理します。問題は domain.php ファイルのどこかにあり、リターン、または単なる .ajax の不適切な使用です。ここにphpがあります

PHP

<?php
    require_once("../includes/connection.php");

    $domainName = $_POST['domain'];

    $sql = "SELECT domain_name
            FROM user
            WHERE domain_name = '{$domainName}'
            ";
    $run = mysqli_query($mysqli, $sql);
    $result = mysqli_fetch_assoc($run);
    echo $result['domain_name'];
?>

これについて私が間違っていた場所についての助けをいただければ幸いです。

ありがとう!

4

3 に答える 3

2

のデータと成功関数の間にカンマがないようですajax Request

data: {
    domain:domain
} , < -- Missing comma here
success: function(result) {
于 2012-10-15T01:09:29.237 に答える
1

それがコードの直接のコピーである場合、data: {}, <- の後の ajax 呼び出しにコンマがありません。

また、成功ステートメントから if...else を削除します。これも正しく行われていないためです (1 つの等号を使用して値をテストしていて、テストしようとしている値を宣言するだけです)。 )。試してみてください:success: function(result) { console.log(result); alert(result); }そして何が得られるか見てください。

于 2012-10-15T00:46:27.830 に答える