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 是一种服务器端语言。取而代之的是,您需要使用 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 回答