急PHP+Ajax实现用户登录验证问题求解?

WBOY
Release: 2016-06-23 14:08:19
Original
920 people have browsed it

表单里用户名和密码两个属性,单击按钮触发AJAX函数,这个AJAX函数提取表单中“用户名”和“密码”的值发送到后台程序验证,php写的后台程序,php程序分别对“用户名”和“密码”进行验证,用户名出错给出提示,传回给ajax,显示到

中,同理密码出错,显示到
中,现在用户名和密码能够正确传到PHP程序中,做出正确验证,但是xmlHttp.responseText,如何能实现上面的效果呀?急!!!


回复讨论(解决方案)

贴出你的代码!

你需要在回调函数中有条件的对不同的目标赋值,那就要回传有控制信息

// JavaScript Documentvar xmlHttp;function S_xmlhttprequest(){	if(window.ActivXObject){				xmlHttp=new ActiveXObject('Mcrosoft.XMLHTTP');		}else if(window.XMLHttpRequest){			xmlHttp=new XMLHttpRequest;		}	}function php100(){	S_xmlhttprequest();	user=document.myform.user.value;	pwd=document.myform.pwd.value;   var postStr = 'user='+ user+'&pwd='+pwd;	xmlHttp.open('POST','login3.php',true);	 //定义传输的文件HTTP头信息 	xmlHttp.onreadystatechange=byphp;	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	 //发送POST数据	 xmlHttp.send(postStr);	}function byphp(){	var byphp100=xmlHttp.responseText;	document.getElementById('userInfo').innerHTML=byphp100;	}// JavaScript Document// JavaScript Document
Copy after login
form name="myform" method="post" action=""> 用户名:<input type="text"  name="user" value=""  size=10;/>   <br> 密 码:<input type="password" name="pwd" value="" size=10;/>   <br> <input type="button"  name="button" value="登陆"  onclick="php100();"/> </form><div id="userInfo"></div><div id="passInfo"></div>
Copy after login
<?php $username=$_POST['user']; //获取用户编号 $password=$_POST['pwd']; //获取密码编号 if($username=='09430102'){	  echo "用户名正确";	 }else{		     echo "用户名不正确";		 } if($password=='my0917'){	 echo "密码正确";	 }else{		     echo "密码错误";		 }?>
Copy after login

“用户名”验证返回的信息显示到userinfo那个div中,密码显示到passinfo那个div中;代码应该怎么改?希望详细些,新手谢谢了!

你没有回传啊

var byphp100=xmlHttp.responseText;
document.getElementById('userInfo').innerHTML=byphp100;这不是回传处理了吗?

function byphp(){  var byphp100=xmlHttp.responseText;  if(/用户/.test(byphp100))    document.getElementById('userInfo').innerHTML=byphp100;  else    document.getElementById('passInfo').innerHTML=byphp100;}
Copy after login
Copy after login

index.html





无标题文档





密码







ajax.js
var http_request;
function send_request(url,method) {
  http_request = false;
  if(window.XMLHttpRequest) {
  http_request = new XMLHttpRequest();
  if (http_request.overrideMimeType) {
   http_request.overrideMimeType('text/xml');
  }
  }
  else if (window.ActiveXObject) {
  try {
   http_request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
   http_request = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {}
  }
  }
  if (!http_request) {
  window.alert("不能创建XMLHttpRequest对象实例.");
  return false;
  }
  switch(method){
case 1:http_request.onreadystatechange = chk;break;
   }
  http_request.open("GET", url, true);
  http_request.send(null);
}

function check(){
send_request("check.php?action="+document.getElementById('pw').value,1);


function chk() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById("user").innerHTML="";
document.getElementById("user").value=http_request.responseText;
    } else {
     alert("您所请求的页面异常。");
    }
   }else {
document.getElementById("user").innerHTML="正在读取数据中……";
}
}


check.php


if(存在){
echo"正确";
}else{
echo "不正确";
}
?>

check.php中判断下$_POST['username']和$_POST['pw']

function byphp(){  var byphp100=xmlHttp.responseText;  if(/用户/.test(byphp100))    document.getElementById('userInfo').innerHTML=byphp100;  else    document.getElementById('passInfo').innerHTML=byphp100;}
Copy after login
Copy after login

代码运行,咋还是不能将“用户名”和“密码”验证返回信息显示到不同的div中?回传控制信息怎么写?谢谢!--新手!

传json吧

留名!   用jquery不是更好吗

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template