前台后台$.psot交互
前台
{include file='public/header' /}
<body class="login-bg">
<div class="login layui-anim layui-anim-up">
<div class="message">x-admin2.0-管理登录</div>
<div id="darkbannerwrap"></div>
<form>
<input name="username" type="text" placeholder="用户名">
<hr class="hr15">
<input name="password" type="password" placeholder="密码">
<p id="infoerror" style="color:red;"></p>
<hr class="hr15">
</form>
<button id="loginbutton" class="layui-btn layui-btn-lg layui-btn-fluid" onclick="dologin()"><h3>登入</h3></button>
</div> <script>
function dologin() { var username = $("input[name='username']").val();
var password = $("input[name='password']").val();
if (username == '') {
$("#infoerror").text('请填写用户名'); return;
}
if (password == '') {
$("#infoerror").text('请填写密码'); return;
}
var data = {
'username': username,
'password': password
};
$.post("{:url('check')}", data, function (res) {
if (res.code == 0) {
layer.msg(res.msg);
setTimeout("location.href='{:url('home/index')}'", 500); } else if (res.code == 1) {
$("#infoerror").text(res.msg);
return;
}
else if (res.code == 2) {
$("#infoerror").html(res.msg);
return;
}
}, 'json');
}
</script>
</body>
</html>
后台
<?php
namespace app\admin\controller;
use app\admin\common\Base;
use think\Controller;
use think\Request;
use think\Db;
use think\Session;
class Login extends Base
{
//首页
public function index()
{
return $this->view->fetch('login');
}
/* 验证用户身份*/
public function check()
{
if($this->alreadyLogin()){
exit(json_encode(array('code'=>2,'msg'=>'用户'.Session::get('admin')['username'].'已登录,<a href='.url('home/index').'>点我跳转到管理界面</a>')));
}
$username = trim(input('post.username'));
$password = trim(input('post.password'));
if(!$username){
exit(json_encode(array('code'=>1,'msg'=>'请填写用户名')));
}
if(!$password){
exit(json_encode(array('code'=>1,'msg'=>'请填写密码')));
}
//从数据库查询到数组
$data = Db::table('admin')->where('username',$username)->find(); //如果查到为空
if(!$data){
exit(json_encode(array('code'=>1,'msg'=>'用户名不存在')));
} //如果密码匹配
if($data['password'] != md5($username.$password)){
exit(json_encode(array('code'=>1,'msg'=>'密码错误')));
}
//验证通过
//设置session
Session::set('admin',$data);
exit(json_encode(array('code'=>0,'msg'=>'登录成功')));
} /*退出登录*/
public function logout()
{
//删除session
Session::delete('admin'); //执行成功,并返回登录界面
$this->success('注销成功,正在返回···','admin/login/index');
}
}
前台后台$.psot交互的更多相关文章
- 【Win 10 应用开发】Toast通知激活应用——前台&后台
老周最近热衷于讲故事,接下来还是讲故事时间. 有人问我:你上大学的时候,有加入过学生会吗?读大学有没有必要加入学生会? 哎哟,这怎么回答呢,从短期来说,加入学生会有点用,至少可以娱乐一下,运气好的话, ...
- Javascript 中ajax实现前台向后台交互
第一种情况:前台传入字符串参数 后台返回json字符串.或是json数组 代码如下: 前台: $.ajax({ url: "xxx/xxx.action", data: &quo ...
- java企业级开发的实质就是前台后台如何交互的-各个对象之间如何交互,通信的-程序执行的流程是怎样的
1.开山鼻祖-servlet 如何将url 和 strvlet(.java文件)联系起来的 顺平说的:在xml中,url先找到xml,由对应的url的得到servlet那个类,然后就可以输入一个网址访 ...
- SprimgMVC学习笔记(八)—— SpringMVC与前台json数据交互
一.两种交互形式 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在Controller类中会有不同的解析, ...
- Asp.net中后台C#数组与前台Javascript数组交互
摘自:http://blog.csdn.net/a6225301/article/details/20003305 在上一篇<asp.net中javascript与后台c#交互>中实现了前 ...
- 封装AJax实现JSON前台与后台交互
实践技术点:1.AJax自定义封装 2.后台序列化与反序列化JSON 3.客户端解析JSON字符串,处理DOM 实现代码如下: 1.JS脚本代码: 1 /*** NOTE:AJAX处理JS TIM ...
- asp.net mvc--传值-前台->后台
前端传值->后端 一.Model Binding 方式 前台 @model ADMgr.Web.Models.ListModel 后台 [HttpPost] public ActionResul ...
- .net中后台c#数组与前台js数组交互
第一步:定义cs数组 cs文件里后台程序中要有数组,这个数组要定义成公共的数组. public string[] lat = null; public string[] lng = null; ...
- 批量删除checkbox前台后台
<%@ page contentType="text/html;charset=UTF-8" %><%@ include file="/WEB-INF/ ...
随机推荐
- php中的require和include区别
require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require 1.require 的使用方法如 require("MyRequireFile.p ...
- html中引入调用另一个html文件
第一种: <body> <div id="page1"></div> <div id="page2"></ ...
- R语言函数化学习笔记4
条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x< ...
- Python入门11 —— 基本数据类型的操作
一:数字类型:int.float字类型 1.操作: 比较运算:int与float之间是可以比较大小 数学运算:+-*/,int与float之间也可以进行数学运算 print(10 > 3.1) ...
- STL标准库面试题(转)
一.vector的底层(存储)机制 二.vector的自增长机制 三.list的底层(存储)机制 四.什么情况下用vector,什么情况下用list 五.list自带排序函数的排序原理 六.deque ...
- LED Keychain: Timeless Business Gift
Every business owner understands the importance of reducing marketing budgets and investing in sales ...
- while与do while
一:循环结构 循环的概念:重复得做某一件事情 举例: 打印50份试卷 沿操场跑10圈 做100道编程题 循环结构的特点: 循环条件 (50,10,100) 循环操作 (打印试卷,沿操场跑圈,做编程题) ...
- 解决SourceTree每次拉取提交都需要输入密码的问题
打开终端并且输入: git config --global credential.helper osxkeychain 第一次需要输入密码,以后都不需要了
- flask入门(四)
数据库 flask在数据库这一块有一个扩展应用叫做flask-sqlalchemy,去虚拟环境里pip install一下,如下 我这边用的是mysql,指定的url是这个mysql://userna ...
- linux常用命令和字符串乱码
top :动态实时显示cpu.内存.进程等使用情况(类似windows下的任务管理器) ps aux 查看所有进程 ps aux|grep java 查看java进程 kill -9 进程号 :强制杀 ...