php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)

弹出层主要用于展示丰富的页面信息,还有一个更好的应用是弹出表单层丰富交互应用。常见的应用有弹出登录表单层,用户提交登录信息,后台验证登录成功后,弹出层消失,主页面局部刷新用户信息。本文我们将给大家介绍如何使用jQuery+Ajax+PHP弹出层异步登录的应用。

504c175ceac00fd390324ab3c7e5d3d4.png

HTML

由于本例UI部分使用了Bootstrap,以及使用jQuery插件,因此需要事先载入相关文件,推荐大家使用相关的CDN资源。

接着,我们在html主体部分放置触发弹出层的按钮链接,以及弹出层主体内容。以下是HTML主要代码:

点击弹出登录表单

×

用户登录

登录

用户名:helloweba,密码:123

上述代码中,#result用来展示用户信息,实际应用中,我们要在主网页中显示登录后的用户名等相关信息。#hw-layer-login是弹出层内容,默认是不可见的,它包含了一个登录表单,相关CSS样式请大家参阅Bootstrap官网。

jQuery

我们在点击页面中的链接或按钮后,会调用hwLayer插件,触发登录弹出层。先加载jQUery和hwLayer插件。

然后,调用hwLayer插件。

$(function(){

$('#form-btn').hwLayer({

width: 480,

tapLayer: false

});

});

现在,弹出层出来了,而关键的部分也来了,我们在填写好账号信息,点击登录后,会发生什么?很显然,作为表单提交事件,我们先要验证前端输入的合法性,这里我只是简单的验证输入不能为空的情况。然后提交Ajax,将用户名和密码内容提交给后端login.php来处理。login.php它会验证我们填写的账号信息是否正确,并且将处理的结果以json格式返回给前端。那么当前端收到登录成功的信息时,将登录结果用户名和登录时间显示在主页面#result上,即实现了大家常说的局部刷新效果,同时应该关闭弹出层。

$(function(){

$(".hwLayer-ok").on('click', function(event) {

event.preventDefault();

var user = $('#user').val();

var pass = $('#password').val();

if(user==''){

$('#msg').addClass('text-danger').text('用户名不能为空!');

return false;

}

if(pass==''){

$('#msg').addClass('text-danger').text('密码不能为空!');

return false;

}

$.ajax({

url: 'login.php',

type: 'POST',

dataType: 'json',

data: {username: user,password: pass},

beforeSend: function(){

$('#msg').addClass('text-success').text('正在登录...');

$(".hwLayer-ok").attr('disabled',true);

},

success: function(res){

if(res.code==1){ //登录成功

$('#result').html('欢迎您,' + res.username + ',登录时间:' + res.logintime);

$('#msg').removeClass('text-danger').addClass('text-success').text('登录成功!');

$('#hw-layer-login').hwLayer('close');

}else{

$('#msg').addClass('text-danger').text('用户名或密码错误!');

}

$(".hwLayer-ok").removeAttr('disabled');

}

});

});

});

PHP

以上的Ajax异步操作当然离不开我们后端PHP,当然后端语言你可以自己选。login.php接收前端post上来的用户名和密码,然后比对验证是否正确。这里我偷懒,定义好了用户名和密码,而实际应用中我们应该使用PHP去读取数据库如MySQL中的用户表,比对用户表中的信息,并且以json数据返回登录结果给前端,请看代码:

$username = stripslashes(trim($_POST['username']));

$password = stripslashes(trim($_POST['password']));

if($username=='helloweba' && $password=='123'){

$res['code'] = 1;

$res['username'] = $username;

$res['logintime'] = date('Y-m-d H:i');

}else{

$res['code'] = 0;

}

echo json_encode($res);

以上所述是小编给大家介绍的jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CPU】解决打开360或者Chrome浏览器CPU占用过高

cmd 运行: RD /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Protect"转载于:https://www.cnblogs.com/zwqh/p/6708398.html

# 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod

20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践myod 因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多练习linux的命令训练。 实践一 每个* .c一个文件,每个*.h一…

css盒模型中margin很牛逼

css盒子模型,说简单也简单,用的时候也有不简单的。 其中margin的值可以为负值,并且为了实现margin,忽略父级的padding、border、甚至定位。这在布局上很有用,要注意。 ------------ 比如,div1&#xff0…

CometD:Java Web应用程序的Facebook类似聊天

聊天就像吃一块蛋糕或喝一杯热咖啡一样容易。 您是否曾经考虑过自己开发聊天程序? 您知道,聊天不容易。 但是,如果您是开发人员,并且阅读了本文的结尾,则可以尝试自己开发一个聊天应用程序,并允许您的用户通…

怎么用PHP建立购物网站,如何使用PHP建设一个购物网站

本系统以PHP为主要制作工具,实现了用户注册、登录、验证身份及用户数据的采集、物品的预览查询、搜索/查看物品信息,站内最新物品信息发布,可进入在线下单从而实现了网络销售。网上购物,这个逐渐流行于二十世纪的购物方式已经为越…

团队作业2——需求分析原型设计

需求分析: 软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。请发表一篇随笔,完成初步的需求分析: 1.访问软件项目的真实用户(至少10个),…

给div命名,使逻辑更加清晰

我们把一些标签放进<div>里&#xff0c;划分出一个独立的逻辑部分。为了使逻辑更加清晰&#xff0c;我们可以为这一个独立的逻辑部分设置一个名称&#xff0c;用id属性来为<div>提供唯一的名称&#xff0c;这个就像我们每个人都有一个身份证号&#xff0c;这个身份…

css边框颜色渐变

在实际开发中&#xff0c;我们经常遇见边框需要背景渐变的实现要求&#xff0c;那么如何去实现呢&#xff0c;今天给大家分享依稀几种情况 1.直角的背景渐变 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta…

ActiveMQ:了解内存使用情况

正如最近的一些邮件列表电子邮件和从Google返回的许多信息所表明的那样&#xff0c;ActiveMQ的SystemUsage尤其是MemoryUsage功能使一些人感到困惑。 我将尝试解释有关MemoryUsage的一些细节&#xff0c;这些细节可能有助于理解它的工作方式。 我将不介绍StoreUsage和TempUsage…

php设置排序,7种php基本排序实现方法

本文总结了一下常用的7种排序方法&#xff0c;并用php语言实现。1、直接插入排序/** 直接插入排序,插入排序的思想是&#xff1a;当前插入位置之前的元素有序&#xff0c;* 若插入当前位置的元素比有序元素最后一个元素大&#xff0c;则什么也不做&#xff0c;* 否则在有序序列…

170406、用uid分库,uname(用户名)上的查询怎么办

【缘起】 用户中心是几乎每一个公司必备的基础服务&#xff0c;用户注册、登录、信息查询与修改都离不开用户中心。 当数据量越来越大时&#xff0c;需要多用户中心进行水平切分。最常见的水平切分方式&#xff0c;按照uid取模分库&#xff1a; 通过uid取模&#xff0c;将数据分…

bzoj2144: 跳跳棋(二分/倍增)

思维好题&#xff01; 可以发现如果中间的点要跳到两边有两种情况&#xff0c;两边的点要跳到中间最多只有一种情况。 我们用一个节点表示一种状态&#xff0c;那么两边跳到中间的状态就是当前点的父亲&#xff0c;中间的点跳到两边的状态就是这个点的两个儿子&#xff0c;从而…

电脑投屏软件哪个好_目前当贝市场中投屏软件哪个好,最全面投屏技巧盘点

现在不管是在家里还是公司里&#xff0c;为了看一些是视频和资料&#xff0c;投屏到电视上是一件非常必要的事情&#xff0c;但是现在投屏的技巧各种各样&#xff0c;投屏的软件也是五花八门&#xff0c;小编平常也是经常投屏&#xff0c;也试过非常多的方法&#xff0c;这边分…

从零开始的全栈工程师——html篇1.2

起名方式与CSS 一.起名方式(起名方式也叫选择器) 起名的目的是为了给标签添加属性 常见的3种选择器有 标签选择器 id选择器(使用的时候加#) class选择器(使用的时候加.) 样式的要求是由选择器的权重来决定的 标签的权重为1 class的权重是10 id的权重是100 权重是可…

android开发中用到的px、dp、sp

先介绍一下这几个单位&#xff1a;px : pixels(像素),相应屏幕上的实际像素点。dip :device independent pixels&#xff0c;与密度无关的像素&#xff0c;基于屏幕密度的抽象单位。在每英寸160点的显示器上。 1dp 1px &#xff0c;即1 &#xff1a;1关系。&#xff08;dp 就是…

Spring:设置日志依赖项

这篇文章描述了如何在Spring中设置日志依赖。 它基于Dave Syer的帖子中提供的信息 。 这里提供有关Java日志记录框架的提醒。 该代码示例可在GitHub的Spring-Logging-Dependencies目录中找到。 Spring使用Jakarta Commons Logging API&#xff08;JCL&#xff09;。 不幸的是&…

【Codeforces Round #424 (Div. 2) C】Jury Marks

【Link】:http://codeforces.com/contest/831/problem/C 【Description】 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对这个人评分; 依照时间顺序依次给出这k个人的评分(可能为负数,负数的时候,表示分数会降低,而如果为正,则分数增加); 然后有一个…

php copy 文件夹,php删除与复制文件夹及其文件夹下所有文件的实现代码

/*复制xCopy函数用法&#xff1a;* xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录* xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录*参数说明&#xff1a;* $source:源目录名* $destina…

安卓app开发工具_怎么开发app软件需要多少钱?主流app开发工具盘点

现在智能手机的快速普及让手机app在生活中越来越重要&#xff0c;很多企业及创业者也意识到了app的重要性&#xff0c;但是怎么开发app软件&#xff1f;有哪些主流app开发工具呢&#xff1f;这里就为大家分享一下如何快速开发app软件。一、编程app开发工具主要针对专业的程序员…

大话设计模式读书笔记(十一) 观察者模式

观察者模式&#xff1a; 书中通过小菜描述同事在公司看股票行情&#xff0c;并请求前台帮忙在老板回来时提醒同事&#xff0c;引出需求。将前台通知同事老板回来的事写成程序。未用模式实现&#xff1a; 1 //前台类2 public class Secretary {3 private List<StockObser…