1

ユーザーがユーザー名とパスワードを正しく入力してからhome.htmlにアクセスした場合、mysqlデータベースをチェックインしたいのですが、ユーザーがログインボタンをクリックしたことを検出するjavascriptコードがありますが、チェックイン方法がわかりませんjavascriptを使用したデータベース、phpでそれを行う方法は知っていますが、javascriptからphpを呼び出す方法、またはjsコードで直接行う方法を理解できません。これはいくつかのコードです:

html のフォーム:

    <div id="password">
        <div class="input username"><input type="text" placeholder="User name" /></div>
        <div class="input password"><input type="password" placeholder="Password" /></div>
        <button>Log in</button>
        <a href="#" class="back">Back</a>
    </div>
</div>

次に、Login.js ファイルに次のように記述します。

function forgot() {
//Se ho scritto la password allora fai l'animazione wobble, altrimenti vai in home.html
    if($("#password .input.password input").attr("value")!='') {
        $.notification( 
            {
                title: "Wrong password",
                content: "Just leave the password field empty to log in.",
                icon: "!"
            }
        );
        $("#password").removeClass().addClass("animated wobble").delay(1000).queue(function(){ 
            $(this).removeClass();
            $(this).clearQueue();
        });
        $("#password .input.password input").attr("value", "").focus();
    } else {
        document.location.href = "home.html";
    }
}

ログインのために、フィールドが空の場合にのみ検出しますが、mysqlデータベースを検出するにはどうすればよいですか? ユーザーが間違ったユーザー名とパスワードを入力した場合に $notification アラートが発生した場合、誰かが私を助けることができますか?

4

4 に答える 4

2

クライアント側の JS からサーバー側のデータベースに直接通信することはできません。

(サーバー側プログラムに対して) HTTP 要求を行うには、 XMLHttpRequest オブジェクトを使用します。

于 2012-10-17T09:36:59.683 に答える
2

あなたのhtmlフォームが以下のようなものであると仮定してください:

<input id="uname" name="uname" type="text" placeholder="User name" />
<input id="pass" name="pass" type="password" placeholder="Password" />
<button id="btn_login">Log in</button>

そして、名前が付けられた php スクリプトcheckPassword.phpが以下のようなものであるとします。

<?php
    /*
      1.Retrieve post data : "uname" and "pass".
      2.Cehck if  user name and password is valid.
    */
    if( /* valid user name and password */ ){
        echo "OK";
    }else{
        echo "NG";
    }
?>

Javascript コードは次のようになります。

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript">
$(function() {
// set a event handler to the button
  $("#btn_login").click(function() {
    // retrieve form data
    var uname = $("#uname").val();
    var pass = $("#pass").val();

    // send form data to the server side php script.
    $.ajax({
        type: "POST",
        url: "checkPassword.php",
        data: { uname:uname, pass:pass }
    }).done(function( data ) {

        // Now the output from PHP is set to 'data'.
        // Check if the 'data' contains 'OK' or 'NG'
        if (data.indexOf("OK") >= 0){

            // you can do something here
            alert("Login Successed.");
            location.href = "ok.html";

        }else if(data.indexOf("NG") >= 0){

            // you can do something here
            alert("Login Faild.");
            location.href = "ng.html";
        }
    });
  });
});
</script>
于 2012-10-17T10:23:50.673 に答える
0

ストアド プロシージャを使用する場合は、SQL サーバー側で検証部分を実行できます。

于 2013-02-09T01:15:03.993 に答える
0
if(document.pressed=='SUBMIT')
    {
        var uname = document.getElementById('uname').value;

        if(uname.trim()=='' || uname.trim()==null)
        {
            alert("<?php echo 'uname_null'?>");
            return false;
        }

}
于 2012-10-17T12:41:07.487 に答える