ajax php验证php代码不工作

ajax php验证php代码不工作,php,ajax,Php,Ajax,php代码不工作:请帮助我使用java脚本或ajax进行验证 <?php if(isset($_POST["username"]) && $_POST["username"] != "") { $username= $_POST['username']; if (strlen($username) < 4) { echo '4 - 15 characters please'; } if (is_numeric($username

php代码不工作:请帮助我使用java脚本或ajax进行验证

  <?php
 if(isset($_POST["username"]) && $_POST["username"] != "")
  {
     $username= $_POST['username'];
    if (strlen($username) < 4) {
   echo '4 - 15 characters please';

  }
if (is_numeric($username[0])) {
 echo 'First character must be a letter';

}
 }
 ?>
e
函数callme()
{
var showme=document.getElementById(“show”);
var user=document.getElementById(“uname”).value;
//如需查看新浏览器,请从中显示ajax
如果(用户!==“”)
{
showme.innerHTML='loading….';
var hr=新的XMLHttpRequest()
{
hr.open(“post”,“index.php”,true);
hr.setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
hr.readystatechange=函数()
{
如果(hr.readystate==4&&hr.status==200){
showme.innerHTML=hr.responseText;
}
} 
var v=“username=”+用户;
人力资源部发送(v);
}
}
}
用户名:
所有代码工作良好,只有php代码不工作,请帮助我 当我们在文本框中输入一些文本时,仅加载。。。。。
任何类型的验证都没有显示…

我认为您的问题在这里
hr.readystatechange
。您需要的是
hr.onreadystatechange

也许这不是解决方案,但您可以在php中回显或打印从浏览器接收到的内容,或将其保存在文件中,然后查看$\u POST['username']是否带有此名称,而不带有uname

e<script type="text/javascript" language="javascript">
   function callme()
 {
var showme = document.getElementById("show");
var user = document.getElementById("uname").value;
    //for check new browser show ajax from
 if(user!=="")
 {
 showme.innerHTML=' loading.....';
   var hr = new XMLHttpRequest()
   {
   hr.open("post","index.php",true);
   hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  hr.readystatechange=function()
 {
  if(hr.readystate== 4 && hr.status==200) {
  showme.innerHTML= hr.responseText;
  }
  } 
  var v="username="+ user;
   hr.send(v);  
  }
}
}
</script>

   <body>
   <span>username:</span>
     <input type="text" name="uname" id="uname"    onBlur="callme();"/>
   <div id="show"></div>
   </body>
您的代码非常旧,现在您可以使用jquery简化javascript,对于php,有很多框架可以简化php。像onclick-into-html这样的标记已经被弃用,或者非常接近

如果您希望使用字符串,则效果更好

print_r($_POST);
尝试将消息存储在一个变量中,并在php函数的末尾返回它,最好在函数中只有一个出口,而不是多个出口

下次试着把问题和代码按顺序排列,以便于阅读和理解

谢谢,对不起我的英语。。。XD

$_POST["username"] !== ""