急PHP+Ajax实现用户登录验证问题求解?
表单里用户名和密码两个属性,单击按钮触发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
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>
<?php $username=$_POST['user']; //获取用户编号 $password=$_POST['pwd']; //获取密码编号 if($username=='09430102'){ echo "用户名正确"; }else{ echo "用户名不正确"; } if($password=='my0917'){ echo "密码正确"; }else{ echo "密码错误"; }?>
“用户名”验证返回的信息显示到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;}
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;}
代码运行,咋还是不能将“用户名”和“密码”验证返回信息显示到不同的div中?回传控制信息怎么写?谢谢!--新手!
传json吧
留名! 用jquery不是更好吗

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.
