先在info数据库中建立 test 数据表,内容如下
然后建立页面 名为04.html:
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<title></title>
</head>
<body>
<form action="" method="post">
<p>用户名: <input type="text" name="username"><span id='reg'></span></p>
<p>email: <input type="text" name="email"><span id='rmail'></span></p>
<p><input type="submit" value="注册"></p>
</form>
<script type="text/javascript">
var user=document.getElementsByName('username')[0];
var reg=document.getElementById('reg');
user.onblur=function(){
var url='04.php?un='+this.value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(this.readyState == 4) {
if(this.responseText == 0 ){
reg.innerHTML='<font color="green">可用</font>';
}else{
reg.innerHTML='<font color="red">不可用</font>';
}
}
}
xhr.open('get',url,true);
xhr.send(null);
}
</script>
</body>
</html>
建立对应PHP程序 名为 04.php
<?php
header("Content-type: text/html; charset=utf-8");
if($con=mysql_connect('localhost','',''))
{ // echo '连接服务器成功';
}else{
echo '连接失败';
}
if(mysql_select_db('info')) {
// echo '连接数据库成功';
}else{
echo '链接数据库失败';
}
if(mysql_query('SET NAMES UTF8')) {
// echo '设置字符成功';
}else{
mysql_error();
}
$un = $_GET['un'];
$users = array('zhangsan' , 'lisi' , 'wangwu');
// print_r($users);
echo in_array($un, $users)?1:0;
/* 屏蔽1
$query = mysql_query('SELECT name FROM test');
$data = array();
while($row=mysql_fetch_row($query)) {
$data[]=$row[0];
}
// print_r($data);
echo in_array($un, $data)?1:0;
*/
?>
问题来了:
如果先把 屏蔽1的内容注释掉, 功能 是正常的。 在输入框输入 zhangsan , lisi 都会在后面显示 “不可用”
输入其他内部会 显示 “可用”
我用print_r($users); 查询内容如下
Array ( [0] => zhangsan [1] => lisi [2] => wangwu )
然后, 我把
$users = array('zhangsan' , 'lisi' , 'wangwu');
print_r($users);
echo in_array($un, $users)?1:0;
这一段全屏蔽掉, 使用 上面的 屏蔽1 的语句
先打印print_r($data); 内容如下
Array ( [0] => 苹果 [1] => 香蕉 [2] => 荔枝 [3] => abc )
然后屏蔽print_r($data); 执行 echo in_array($un, $data)?1:0;
不管在 用户名 栏输入什么内容,后面都显示 “不可用”
为什么? 我哪里写错了
qq_歲月靜好不忘初心_0
枫语0