首页 >后端开发 >php教程 > php+Ajax进行验证用户名的时候遇到的编码有关问题

php+Ajax进行验证用户名的时候遇到的编码有关问题

WBOY
WBOY原创
2016-06-13 12:45:33725浏览

php+Ajax进行验证用户名的时候遇到的编码问题
我在测试代码的时候,遇到了这个问题。
代码如下:
index.php

<br />
<script type="text/javascript" src="ajax.js"></script><br />
  <form name="myform" action="" method="post" enctype="text/plain"><br />
  用户名:<br />
  <input type="text" name="user" value="" onblur="funphp100('php100')"/><br />
  <div id="php100"></div><br />
  </form><br />

ajax.js
<br />
<br />
var xmlHttp;<br />
function S_xmlhttprequest() {<br />
	if(window.ActiveXObject) {<br />
		xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');<br />
	} else if(window.XMLHttpRequest) {<br />
		xmlHttp = new XMLHttpRequest();<br />
	}<br />
}<br />
<br />
function funphp100(name) {<br />
<br />
   var f=document.myform.user.value;<br />
	S_xmlhttprequest();<br />
	xmlHttp.open("GET","for.php?id="+f,true);<br />
	xmlHttp.onreadystatechange = byphp;<br />
	xmlHttp.send(null);<br />
}<br />
<br />
function byphp() {<br />
<br />
  	if(xmlHttp.readyState == 1) {<br />
		 document.getElementById('php100').innerHTML = "<img  src='loading.gif' alt=" php+Ajax进行验证用户名的时候遇到的编码有关问题 " >";<br />
	}<br />
<br />
    	if(xmlHttp.readyState == 4 ){<br />
		if(xmlHttp.status == 200) {<br />
          var byphp100 =  xmlHttp.responseText;<br />
          document.getElementById('php100').innerHTML = byphp100;<br />
		}<br />
	}<br />
<br />
<br />
}<br />

for.php
<br />
<?php<br />
if(@$_GET[id]){<br />
	sleep(1);<br />
 $conn=mysql_connect('localhost','root','');<br />
 mysql_select_db('test',$conn);<br />
<br />
 echo $sql="SELECT * FROM `user` where `user`='$_GET[id]'";<br />
 $q=mysql_query($sql);<br />
<br />
 if(is_array(mysql_fetch_row($q))){<br />
 	echo "<font color=red>用户名已经存在</font>";<br />
 }else<br />
 {<br />
   echo "<font color=green>可以使用</font>";<br />
 }<br />
}<br />
?>

我分别在本地环境和BAE环境都做了测试。
都出现了汉字不能正常的传送的现象,数据库中已经有“千手”这个用户了,但是还是提示可以使用该用户,貌似是编码的问题。
,求高人解答~ 

PHP Ajax MySQL 测试
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn