本文实例讲述了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 = \"\";
}
}
}
}
}
function m$(id) {
return document.getElementById(id);
}
function changeCode() {
var xmlhttp = createRequest();
if (xmlhttp) {
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 style=\"background-color:#2A3F55; height:80px;\">
</div>
<div style=\"min-height:500px;\">
<div class=\"left\">
<div style=\"margin:120px auto auto auto; height:300px; text-align:left\">
<div style=\"font-size:26px;color:#2A3F55; text-align:center;\">Ajax PHP Demo System
<img src=\"Images/appstorm-icon.png\" alt=\"appcation storm image\" style=\"position:relative;top:-18px; left:-12px; vertical-align:middle; text-align:center;font-size:10px; width:65px; height:46px;\"/>
</div>
<br/>
<hr style=\"border:dashed thin #2A3F55;width:70%; text-align:center;\"/>
<div style=\"font-size:13px;color:#999999; margin:20px auto 0 auto; padding-left:200px;\">
Author:<a href=\"#\" onmousemove=\"showTool();\" onmouseout=\"hideTool();\">wangming</a>
</div>
<div style=\"font-size:13px;color:#999999;margin:20px auto auto auto; padding-left:200px;\">DateTime:2009-9-1</div>
<div style=\"font-size:13px;color:#999999;margin:20px auto auto auto; padding-left:200px;\">Version:1.0.0</div>
<div style=\"font-size:13px;color:#999999;margin:20px auto auto auto; padding-left:200px;\">Email:wangmingemail@163.com </div>
<div id=\"divToolTip\">
<img src=\"Images/ming.jpg\" height=\"86px;\"/>
<span class=\"authordes\">
<br/>
姓名:wangming<br/>
电商06-2<br/>
</span>
</div>
</div>
</div>
<div class=\"right\">
<form>
<br/>
<table class=\"flogin\">
<tr>
<td>用户名:</td>
<td><input type=\"text\" name=\"username\" id=\"username\"/></td>
<td></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type=\"password\" name=\"password\" id=\"password\" /></td>
<td></td>
</tr>
<tr>
<td>验证码:</td>
<td>
<input type=\"text\" name=\"txtCode\" id=\"txtCode\" size=\"12\" />
<img src=\"function/imagecode.php\" id=\"imgCode\" alt=\"image code\" height=\"22px;\" style=\" vertical-align:bottom;\"/>
</td>
<td><input type=\"button\" class=\"btnrefresh\" onclick=\"changeCode();\" /></td>
</tr>
<tr>
<td></td>
<td><input type=\"button\" class=\"btnlogin\" onclick=\"chkForm();\" /></td>
<td></td>
</tr>
<tr>
<td></td>
<td><span id=\"loading\"></span></td>
<td><span id=\"code\"></span></td>
</tr>
</table>
</form>
</div>
</div>
<div style=\"background-color:#2A3F55; height:60px; margin:auto 0 0 0; clear:both; text-align:center; line-height:60px; color:#FFFFFF;font-size:12px;\">
©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
<?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
<?php
$conn=$mysql_connect(\"localhost\",\"root\", \"\");
mysql_select_db(\"bbs\",$conn);
mysql_query(\"SET NAMES GB2312\");
?>
5
<?php
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方式实现登录功能,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/5700
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我