ajax php验证php代码不工作
php代码不工作:请帮助我使用java脚本或ajax进行验证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
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"] !== ""