<?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';
}
}
?>
php代码无效:请帮我验证使用java脚本或ajax
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>
所有代码工作正常只有PHP代码不工作请帮助我 当我们在文本框中输入一些文本时只加载..... 任何类型的验证都没有显示......
答案 0 :(得分:0)
我认为你的问题在hr.readystatechange
。您需要的是hr.onreadystatechange
答案 1 :(得分:0)
也许这不是解决方案,但你可以回显或print_r或在文件中从php中的浏览器收到的内容,看看$ _POST ['username']是否带有此名称而不是uname。
print_r($_POST);
你的代码已经很老了,现在你可以使用jquery来简化javascript和php,那里有很多框架可以让你的php变得简单。像onclick into html这样的标签已被弃用或非常接近。
如果你期望一个字符串
,那就更好了$_POST["username"] !== ""
尝试将消息存储在一个变量中,并在php函数的末尾返回,最好只有一个退出而不是函数的多个。
下一次尝试将问题和代码整理好,以便于阅读和理解。
谢谢,对不起我的英文...... XD