0

私は次のように書いた:

function loginName(txtLogin){
    var l = document.getElementById('txtLogin').value;
    <?php
        $query = sprintf("Select * from register where LoginName='%s'",
                        mysql_real_escape_string(l));

        //$query =  "Select * from register where UserName=$Username and     Pwd=$Password";
        $result = mysql_query($query);
        if($result)
        {
            $num_rows =  mysql_num_rows($result);
        }
    ?>
    if($num_rows < 1)
    {
        return true;
    }
    else
    {
        return false;
    }
}

そして、以下のようにonBlurイベントでその関数を呼び出します。

 $('#txtLogin').blur(function() {
      if(loginName('txtLogin'))
      {
          //alert('Email is valid');
      }
      else
      {
          alert('Type another login name.');
      }
   });

しかし、データベースに存在するものと同じログイン名を入力してもエラーが表示されません。助けてください。

4

3 に答える 3

0

<script>PHPはクライアント側でのみ実行され、PHPはサーバー側の言語であるため、タグ内でPHPを実行することはできません。これの代わりに、AJAXを使用してユーザー名の有効性を確認する必要があります。returnところで、メソッド外の有効なキーワードではないため、どこかからコードを直接コピーして貼り付けました。jQuery (javascriptライブラリ)に精通している場合は、AJAX部分に使用することをお勧めします。

于 2012-05-20T10:10:04.957 に答える
0

PHPコードは、ページが解析されるときに実行されます。JS関数の実行時に実行されることを期待している場合は、PHPコードを外部ファイルに記述し、AJAXで呼び出す必要があります。

于 2012-05-20T10:10:07.870 に答える
0

PHPはサーバー上で実行され、テキストを出力します。

そのテキストは、ブラウザによってHTMLおよびJavaScriptとして解釈されます。

JavaScript関数を呼び出すと、その中のPHPはすでに実行されています。このようにJavaScriptからPHPに変数を渡すことはできません。

新しいHTTPリクエストを作成する必要があります(たとえば、フォームを送信するか、Ajaxを使用します)。

于 2012-05-20T10:10:30.707 に答える