先在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;不管在 用户名 栏输入什么内容,后面都显示 “不可用” 为什么? 我哪里写错了
添加回答
举报
0/150
提交
取消