php 登录 登出,个人博客—用户登陆登出
个人博客—用户登陆&登出
点击头部的登陆按钮,弹出用户登录dialog
用户登录dialog
输入用户名和密码会验证是否符合要求,不符合则在上面提示错误信息,且将对应的表单元素边框和必填标志变成红色;每增加一条错误信息相应增加登录表单高度,避免出现滚动条。
错误信息
用户名和密码输入符合规则后,当密码输入框失去焦点时向后台验证用户名和密码是否正确;验证正确后方可登录。
用户名或密码不正确
用户名和密码正确可以登录
点击登录按钮,向后台发送登录请求;发送请求前弹出数据交互中dialog,发送成功后弹出登陆成功dialog;
数据交互中
登陆成功
登陆成功后,设置登陆cookie,如果选择了有效期则登陆cookie有效期设置为一周,否则设置为默认有效期,头部显示用户名和登出按钮;
登陆成功显示用户名和登出
点击登出按钮则退出登录,删除登陆cookie,显示注册和登陆按钮
html部分
帐号:
*
密码:
*
登录后有效期一周
js部分
// 头部登录按钮点击弹出登陆表单
$('#header .loginbtn').on("click",function () {
$('#login').dialog('open');
});
// 登录表单
$('#login').dialog({
autoOpen : false,
modal : true,
resizable : false,
width : 320,
height : 240,
buttons : {
'登录' : function () {
$(this).submit();
}
}
}).validate({ //登录表单验证
// 登录表单提交处理函数,类似注册表单
submitHandler : function (form) {
login_submit_fuc(form);
},
showErrors : function (errorMap, errorList) {
var errors = this.numberOfInvalids();
if (errors > 0) {
$('#login').dialog('option', 'height', errors * 20 + 240);
} else {
$('#login').dialog('option', 'height', 240);
}
this.defaultShowErrors();
},
highlight : function (element, errorClass) {
$(element).css('border', '1px solid red');
$(element).parent().find('span').html('*').removeClass('succ');
},
unhighlight : function (element, errorClass) {
$(element).css('border', '1px solid #ccc');
$(element).parent().find('span').html(' ').addClass('succ');
},
errorLabelContainer : 'ol.login_error',
wrapper : 'li',
rules : {
login_user : {
required : true,
minlength : 2,
},
login_pass : {
required : true,
minlength : 6,
remote : {
url : 'php/login.php',
type : 'POST',
data : {
login_user : function () {
return $('#login_user').val();
},
},
},
},
},
messages : {
login_user : {
required : '帐号不得为空!',
minlength : jQuery.format('帐号不得小于{0}位!'),
},
login_pass : {
required : '密码不得为空!',
minlength : jQuery.format('密码不得小于{0}位!'),
remote : '帐号或密码不正确!',
}
}
});
function login_submit_fuc(form){
$(form).ajaxSubmit({
url : 'php/login.php',
type : 'POST',
beforeSubmit : function (formData, jqForm, options) {
$('#loading').dialog('open');
$('#login').dialog('widget').find('button').eq(1).button('disable');
},
success : function (responseText, statusText) {
if (responseText) {
$('#login').dialog('widget').find('button').eq(1).button('enable');
$('#loading').css('background', 'url(img/success.gif) no-repeat 20px center').html('登录成功...');
if ($('#expires').is(':checked')) {
$.cookie('user', $('#login_user').val(), {
expires : 7,
});
} else {
$.cookie('user', $('#login_user').val());
}
setTimeout(function () {
$('#loading').dialog('close');
$('#login').dialog('close');
$('#login').resetForm();
$('#login span.star').html('*').removeClass('succ');
$('#loading').css('background', 'url(img/loading.gif) no-repeat 20px center').html('数据交互中...');
$('#header .member, #header .logout').show();
$('#header .regbtn, #header .loginbtn').hide();
$('#header .member').html($.cookie('user'));
}, 1000);
}
},
});
}
php部分
require 'config.php';
$_pass = sha1($_POST['login_pass']);
$query = mysql_query("SELECT user,pass FROM user WHERE user='{$_POST['login_user']}' AND pass='{$_pass}'") or die('SQL 错误!');
if (mysql_fetch_array($query, MYSQL_ASSOC)) {
echo 'true';
} else {
echo 'false';
}
mysql_close();
?>
代码在Github:个人博客
php 登录 登出,个人博客—用户登陆登出相关推荐
- python爬虫抢演唱会_Python爬虫爬了七天七夜终于爬出了博客园粉丝数排行榜
Python爬虫爬了七天七夜终于爬出了博客园粉丝数排行榜 [Python爬虫]爬了七天七夜,终于爬出了博客园粉丝数排行榜! 爬虫数据采集接单,大小不限,欢迎各位科研教师,学生,企业相关人员咨询,QQ: ...
- python爬虫难度排行_【Python爬虫】爬了七天七夜,终于爬出了博客园粉丝数排行榜!...
[Python爬虫]爬了七天七夜,终于爬出了博客园粉丝数排行榜! 文章发出不到30分钟就被首页下架了,默哀-- 起因 为了督促自己更加积极地写博客,我希望有一个排名系统能让我看到自己的进步.但是博客园 ...
- 如何更换个人CSDN博客 用户头像
前言 首先吐槽一下:小编最近想更换个人CSDN博客的头像, 发现PC端网页上怎么搞都不成功.问了同事,竟然也遇到同样的问题, 根据小编的性格,这是不能容忍的,一个CSDN 技术网站,居然头像都不给换, ...
- 技术人员和非技术人员如何写出优质博客?-涵子的个人想法
大家好,我是涵子.今天,我们来沉重的聊聊一个大家都很关心的一个问题:技术人员和非技术人员如何写出优质博客? 目录 前言 初写博客,仰望大师 中段时期,无粉无赞 优质博客,涨粉涨赞 优质内容从何而来 优 ...
- 【Python爬虫】爬了七天七夜,终于爬出了博客园粉丝数排行榜!
文章发出不到30分钟就被首页下架了,默哀-- 起因 为了督促自己更加积极地写博客,我希望有一个排名系统能让我看到自己的进步.但是博客园对用户的排名体系相对是比较少的,主要是推荐博客排行和积分排行:但它 ...
- 网站使用第三方登录--用新浪博客登录
1.引入指定js: <script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=your appkey" t ...
- 51CTO博客用户体验
偶尔看看以前的东西,才发现原来我也在51CTO上飘过一下子的,用户名一如既往的是****,突然就想先在上面安个家,把所学的可用性东西整理一下,因为可用性也算是软件测试一种方法,算是IT界的. 51CT ...
- 大数据系列博客之 --- 深入简出 Shell 脚本语言(提升篇)
首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...
- 2010年度中国十大杰出IT博客 评审
很荣幸这次担任"2010年度十大杰出IT博客" (http://2010blog.51cto.com/) 的评委.因为这次大赛,和51CTO的工作人员有更紧密的联系,并且参观了51 ...
最新文章
- springboot 成员变量_springboot系列之04-提高开发效率必备工具lombok
- Hyperledger Fabric 智能合约实战 (0) 整体步骤
- 全球及中国特殊教育行业十四五趋势展望与发展战略建议报告2022版
- MarkDown写ppt
- Facade与Mediator模式的区别
- python asyncio理解_深入理解asyncio(二)
- 不要62(HDU-2089)
- python必备基础代码-机器学习算法基础(使用Python代码)
- 团队组成五个基本要素_如何进行团队建设和团队沟通
- javaweb java代码写在哪里_写了那么多年 Java 代码,终于 debug 到 JVM 了
- bootdo框架使用步骤总结
- C语言设计一个投票程序,c语言程序设计投票程序
- 极品-React中的DOM虚拟DOM,与deff算法,router
- DFI、DPI、端口识别技术
- 炒币玩波段为什么一定要设置止损止盈?
- 如何破解网络密码?(2种方法)
- oracle快速了解法,快速掌握Oracle基本语法,让你来去自如
- 盘它:上线 2 个月碾压微信、抖音,音遇登顶 App Store 榜幕后的数据真相
- h5+app客户端获取服务器传过来的cookie
- JAVA实现微信公众号支付