前台后台$.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/ ...
随机推荐
- POJ1776(哈密顿路径)
题目: http://poj.org/problem?id=1776 题意: 给出一个n*n的矩阵,若第i个任务做完之后可以做第j个任务,则矩阵的第i行第j列为1,否则为0.机器完成一项任务之后会自动 ...
- 《javascript正则表达式迷你书》笔记
字符匹配攻略 横向匹配--通过量词 {m,n} {m,} {m} ? + * 贪婪匹配 后面跟?号 惰性匹配 纵向匹配--通过字符组 \d \D \w \W \s \S . \w表示[0-9a-zA- ...
- C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...
- Python查找列表中某个元素返回所有下标
需求 找出list中某一元素并返回所有匹配index值 问题 使用index()只能返回一个下标 >>> cw=[0,1,2,1,1,0,1,0,0,1] >>> ...
- url编码--url中含有空格问题
开发web服务中,发现当url中含有空格时,会报 400 error: bad request sytanx,经分析,url中含有特殊字符时,服务端可能无法识别.如+,空格,/,?,%,#,& ...
- LAMP+discuz网站搭建过程
LAMP+discuz网站的搭建 一. LAMP环境搭建 0x01下载配置虚拟机 网上下载centOS7 64的镜像,然后在vmware里面配置好,我配置的是linux终端桌面,运行快,占内存小. 0 ...
- P1402 酒店之王【网络流】【最大流】
P1402 酒店之王 提交 5.39k 通过 2.16k 时间限制 1.00s 内存限制 125.00MB 题目提供者yeszy 难度省选/NOI- 历史分数100 提交记录 查看题解 标签 福建省历 ...
- Android Studio阶段性学习总结_1
这半个月一直在学习Android方面的知识,对Android开发有了一个基本的认识,学会了Android studio的基本操作. 在建立第一个Android studio项目时,我遇到了很大的阻碍, ...
- PP: Multi-Horizon Time Series Forecasting with Temporal Attention Learning
Problem: multi-horizon probabilistic forecasting tasks; Propose an end-to-end framework for multi-ho ...
- Java基本语法--运算符
运算符是一种特殊的符号,用以表示数据的运算.赋值和比较等.本篇博客详细介绍Java基本语法中的运算符,主要包括算术运算符.赋值运算符.比较运算符(关系运算符).逻辑运算符.位运算符.三元运算符. Ja ...