PHP+ajax无刷新验证用户名是否存在,js文件可以获取用户填写内容,但无法实现验证,请高手指点
显示页文件<?session_start();?><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""htt...
显示页文件
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script type="text/javascript" src="ajax_check.js"></script>
<form action="" method="post" name="zhuce" enctype="text/plain">
用户名<input type="text" name="username" height="30px" onblur="a('a01')" />
<div id="a01"></div>
</form>
</body>
</html>
调用il.php文件
<?
if($_GET[id]){
$conn = @ mysql_connect ("localhost","root","pw");
mysql_select_db ("abc_db",$conn);
$sq="SELECT * FROM `login` WHERE `username`='$_GET[id]'";
$q=mysql_query($sq);
if(is_array(mysql_fetch_row($q))){
echo "<font color=#CC0000>该用户名已存在</font>";
}
else{
echo "该用户名可以使用";
}
}
?> 展开
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script type="text/javascript" src="ajax_check.js"></script>
<form action="" method="post" name="zhuce" enctype="text/plain">
用户名<input type="text" name="username" height="30px" onblur="a('a01')" />
<div id="a01"></div>
</form>
</body>
</html>
调用il.php文件
<?
if($_GET[id]){
$conn = @ mysql_connect ("localhost","root","pw");
mysql_select_db ("abc_db",$conn);
$sq="SELECT * FROM `login` WHERE `username`='$_GET[id]'";
$q=mysql_query($sq);
if(is_array(mysql_fetch_row($q))){
echo "<font color=#CC0000>该用户名已存在</font>";
}
else{
echo "该用户名可以使用";
}
}
?> 展开
4个回答
展开全部
你所说的“但无法实现验证”是说什么。是js不能验证用户的存在吗?
先说下,ajax其实就是调用js方法来实现内容的提交的,而不是通过表单来提交的。
在这过程中可以对用户的信息的内容格式进行js验证。要与后台对比的数据,则提交后再判断。
在你上面的代码中没看到你用到ajax提交的方法。
先说下,ajax其实就是调用js方法来实现内容的提交的,而不是通过表单来提交的。
在这过程中可以对用户的信息的内容格式进行js验证。要与后台对比的数据,则提交后再判断。
在你上面的代码中没看到你用到ajax提交的方法。
追问
ajax提交的文件 ajax_check.js
省掉实例化代码 篇幅不够
下面继续
function a(n){
var n=document.zhuce.username.value;
alert(n);
s_xmlhttprequest();
xmlhttp.open("GET","il.php?id="+n,true);
xmlhttp.onreadystatechange=check;
xmlhttp.send(null);
}
function check(){
var check01=xmlhttp.responseText;
document.getElementById('a01').innerHTML=check01;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用jquery吧.jQuery实现ajax太简单了.你写的这个ajax不一定通用. 你的问题很可能就是出在了ajax把值传到后台!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax你会了嘛?
通过JS传值、ajax返回验证结果
通过JS传值、ajax返回验证结果
追问
省掉实例化代码 篇幅不够
下面继续
function a(n){
var n=document.zhuce.username.value;
alert(n);
s_xmlhttprequest();
xmlhttp.open("GET","il.php?id="+n,true);
xmlhttp.onreadystatechange=check;
xmlhttp.send(null);
}
function check(){
var check01=xmlhttp.responseText;
document.getElementById('a01').innerHTML=check01;
}
追答
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
var XmlHttpVersions = new Array("MSXML2.XMlHTTP.6.0",
"MSXML2.XMlHTTP.5.0",
"MSXML2.XMlHTTP.4.0",
"MSXML2.XMlHTTP.3.0",
"MSXML2.XMlHTTP",
"Microsoft.XMlHTTP");
for(var i=0;i";
}
else if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
try
{
myDiv.innerHTML=xmlHttp.responseText;
}
catch (e)
{
alert("error" + e.toString());
}
}
else
{
alert("problrm" + e.toString());
}
}
}
'myTableDiv' 就是 要显示返回内容的DIV的id
试下可以不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这段代码好像不能验证中文吧....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询