我写了以下内容:
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.');
}
});
但是当我输入与database.please帮助中存在的相同的登录名时,它没有显示错误。
答案 0 :(得分:0)
你不能在<script>
标签内执行PHP,因为它只在客户端执行,而PHP是服务器端语言。而不是这个,你需要使用AJAX来检查用户名的有效性。顺便说一句,您直接从某处复制并粘贴了代码,因为return
不是方法之外的有效关键字。如果您熟悉jQuery(javascript库),我建议将其用于AJAX部分。
答案 1 :(得分:0)
PHP代码在解析页面时运行。如果您希望在执行JS函数时运行它,那么您需要在外部文件中编写PHP代码并通过AJAX调用它。
答案 2 :(得分:0)
PHP在服务器上运行并输出一些文本。
然后,浏览器将该文本解释为HTML和JavaScript。
当你调用JavaScript函数时,其中的任何PHP都已经运行了。你无法将变量从JavaScript传递给PHP。
您必须发出新的HTTP请求(例如,通过提交表单或使用Ajax)。