首页 > 编程 > PHP > 正文

PHP如何通过AJAX方式实现登录功能

2020-03-22 17:44:26
字体:
来源:转载
供稿:网友
本文实例讲述了html' target='_blank'>Ajax+PHP+MySQL登陆示例。分享给大家供大家参考。具体如下:
运行效果截图如下:具体代码如下:1 login.php
登录界面中,javascript脚本用ajax方式异步请求dologin.php,dologin.php负责用户信息验证(包括验证码,php生成验证码可以自行搜索).登录界面的代码如下:
php 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=gb2312" / title login /title link rel="stylesheet" type="text/css" href="CSS/login.css" / script src="JS/ajaxhelper.js" type="text/javascript" /script script src="JS/jquery-1.3.2.min.js" type="text/javascript" /script script type="text/javascript" function chkForm() { if (m$('username').value == "") { alert('用户名不能为空.'); m$('username').focus(); return false; if (m$('password').value == "") { alert('密码不能为空.'); m$('password').focus(); return false; if (m$('password').value != "" && m$('username').value != "") { var xmlhttp = createRequest(); if (xmlhttp) { m$('loading').innerHTML = " font color='red' loading... /font var username = m$('username').value; var pwd = m$('password').value; var code = m$('txtCode').value; var url = "dologin.php"; xmlhttp.open("POST", url, true); xmlhttp.onreadystatechange = ValidateResult; xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send("username=" + escape(username) + "&password=" + escape(pwd) + "&code=" + escape(code)); } else { alert('xmlHttp创建失败.'); function ValidateResult() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { if (xmlhttp.responseText != "") { //window.alert(xmlhttp.responseText); var obj = eval("(" + xmlhttp.responseText + ")"); if (obj.result == true) { alert("提示:" + obj.info); window.location = 'index.php'; } else { alert("错误:" + obj.info); } else { window.alert("从服务器获取失败"); window.location.reload(); m$('loading').innerHTML = "";
m$('loading').innerHTML = " font color='red' loading... /font var dt = new Date().getTime(); // alert(dt); var url = "function/imagecode.php dummay" + escape(dt); xmlhttp.open("GET", url, true); xmlhttp.onreadystatechange = ValidateResult; xmlhttp.send(null); } else { alert('xmlHttp创建失败.'); function ValidateResult() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { var dt = new Date().getTime(); var url = "function/imagecode.php dummay" + escape(dt); m$('imgCode').src = "function/imagecode.php dummay" + escape(dt); m$('loading').innerHTML = ""; function showTool() { $('#divToolTip').css("display", "block"); function hideTool() { $('#divToolTip').css("display", "none"); window.onload = initPage; function initPage() { $('#divToolTip').css("display", "none"); /script /head body div /div div div div div Ajax PHP Demo System img src="Images/appstorm-icon.png" alt="appcation storm image" / /div br/ hr / div Author: a href="#" onmousemove="showTool();" onmouseout="hideTool();" wangming /a /div div DateTime:2009-9-1 /div div Version:1.0.0 /div div Email:wangmingemail@163.com /div div id="divToolTip" img src="Images/ming.jpg" height="86px;"/ span br/ 姓名:wangming br/ 电商06-2 br/ /span /div /div /div div form br/ table td 用户名: /td td input type="text" name="username" id="username"/ /td td /td /tr td 密码: /td td input type="password" name="password" id="password" / /td td /td /tr td 验证码: /td input type="text" name="txtCode" id="txtCode" size="12" / img src="function/imagecode.php" id="imgCode" alt="image code" height="22px;" / /td td input type="button" / /td /tr td /td td input type="button" / /td td /td /tr td /td td span id="loading" /span /td td span id="code" /span /td /tr /table /form /div /div div Copyright 2015. /div /body /html 2 ajaxhelper.js
function createRequest() { try { request = new XMLHttpRequest(); } catch (tryMS) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (otherMS) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = null; return request;function getActivatedObject(e) { var obj; if (!e) { // early version of IE obj = window.event.srcElement; } else if (e.srcElement) { // IE 7 or later obj = e.srcElement; } else { // DOM Level 2 browser obj = e.target; return obj;function addEventHandler(obj, eventName, handler) { if (document.attachEvent) { obj.attachEvent("on" + eventName, handler); } else if (document.addEventListener) { obj.addEventListener(eventName, handler, false);3 dologin.php
session_start(); header("Content-type:text/html;charset=gb2312");//防止返回的中文乱码 $name=$_POST['username']; $pwd=$_POST['password']; $imagecode=$_POST['code']; if(strtoupper($imagecode)==$_SESSION["code"]) include("conn/conn.php"); $sql="select studentName,studentPwd from tbstudent where studentId='".$name."'"; $result=mysql_query($sql,$conn); if($row=mysql_fetch_assoc($result)) if($pwd==$row['studentPwd']) $_SESSION['username']=$row['studentName']; //echo "{'result':true,'info':'登陆成功!','code':'".$_SESSION["code"]."'}"; echo "{'result':true,'info':'登陆成功!'}"; else echo "{'result':false,'info':'密码错误!'}"; else echo "{'result':false,'info':'该用户不存在!'}"; else echo "{'result':false,'info':'验证码错误!'}";4 conn.php
$conn=$mysql_connect("localhost","root", ""); mysql_select_db("bbs",$conn); mysql_query("SET NAMES GB2312");class Users { function Users() { function checkLogin($username, $userpwd) { try { mysql_connect("localhost", "root", "123"); mysql_select_db("studentdb"); mysql_query("SET NAMES GB2312"); $sql = "select userid from tbuser where username='$username' and userpwd='" . md5(trim($userpwd)) . "'"; $result = mysql_query($sql); if ($result) { $arr = mysql_fetch_row($result); $uid = $arr[0]; if ($uid != "") { return "true|$uid login ok.$sql"; mysql_close(); } else { return "false|login failed!$sql"; mysql_close(); } else { return "false|$result link db failed!"; mysql_close(); catch(Exception $ex) { return "false|$ex"; mysql_close(); function AddUser($name, $pwd) { try { mysql_connect("localhost", "root", "123"); mysql_select_db("studentdb"); mysql_query("set names gb2312"); $sql0 = mysql_query("select userid from tbuser where username='$name'"); $info0 = mysql_fetch_array($sql0); $userid = $info0[0]; if ($info0 != false) { return "false | $name is exisis.(id:$userid)"; $pwd = md5(trim($pwd)); $query = mysql_query("insert into tbuser(username,userpwd)values('$name','$pwd')"); $error = mysql_errno(); if ($query) { return "true | add ok"; } else { return "false | $error"; catch(Exception $ex) { return "false | $ex"; function DeleteUser($name) { mysql_connect("localhost", "root", "123"); mysql_select_db("studentdb"); mysql_query("set names gb2312"); $name = trim($name); $sql0 = mysql_query("select userid from tbuser where username='$name'"); $info0 = mysql_fetch_array($sql0); if ($info0 != false) { if (mysql_query("delete from tbuser where username='$name'")) { return "true | delete ok.(id:" . $info0[0] . ")"; } else { return "false | 删除失败"; } else { return "false | 删除失败 $name 不存在"; function UpdateUser($id, $name, $pwd) { if (is_numeric(intval(trim($id)))) { if ($id && $name && $pwd) { mysql_connect("localhost", "root", "123"); mysql_select_db("studentdb"); mysql_query("set names gb2312"); $pwd = md5(trim($pwd)); $isexists = mysql_query("select * from tbuser where userid='$id'"); if (mysql_fetch_array($isexists)) { $sql0 = mysql_query("update tbuser set username='$name',userpwd='$pwd' where userid= $id"); if ($sql0) { return "ture | update ok"; } else { return "false | 更新失败"; } else { return "false | usrid=$id not exists."; } else { return "false |id=$id name=$name and pwd=$pwd .At least one of them is null."; } else { return "false | $id is not type of int.";与登录无关,只为了记录一下PHP如何在数据库MYSQL上实现CURD操作.以上就是告诉了大家PHP如何通过AJAX方式实现登录功能,希望对大家的学习有所帮助。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表