首页 web前端 Layui教程 layui登录界面美化效果展示

layui登录界面美化效果展示

Jan 22, 2021 am 11:37 AM
layui 登录界面

layui登录界面美化效果展示

完整代码展示如下:

(学习视频分享:编程入门

1、前端html

login.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport"
    content="width=device-width, initial-scale=1, maximum-scale=1">
<title>登录</title>
<link rel="stylesheet" href="/static/css/layui.css">
<link rel="stylesheet" href="/static/css/login.css">
</head>
<body>
    <p class="clear box layui-main login">
  
        <form class="layui-form layui-form-pane1" action="ulogin" method="post">
            <p class="layui-form-item">
                <label class="layui-form-label">用户名:</label>
                <p class="layui-input-block">
                    <input type="text" name="user.name" lay-verify="uname" required
                        placeholder="请输入用户名" autocomplete="off" class="layui-input">${UnameErrMsg?if_exists}
                </p>
            </p>
            <p class="layui-form-item">
                <label class="layui-form-label">密码:</label>
                <p class="layui-input-block">
                    <input type="password" name="user.pwd" lay-verify="" required
                        placeholder="请输入密码" autocomplete="off" class="layui-input">${PwdErrMsg?if_exists}
                </p>
            </p>
            <p class="layui-form-item">
                <label class="layui-form-label">验证码:</label>
                <p class="layui-input-block">
                    <input type="text" name="yzm" lay-verify="" required
                        placeholder="请输入验证码" autocomplete="off" class="layui-input">${yzmErrMsg?if_exists}<br>
                <a href="/login.html"><img alt="验证码" src="/yzm"></a>
                </p>
            </p>
            <p class="layui-form-item">
            <label class="layui-form-label"></label>
                <button class="layui-btn layui-btn-normal btn-center" type="submit">登录</button>
            </p>
        </form>
    </p>
  
    <script src="/static/js/layui.js"></script>
</body>
</html>
登录后复制

登录界面样式

@CHARSET "UTF-8";
body{
    background-image:url(/static/images/login-bg.png);
}
.login {
    padding-top: 15%;
    width: 26%;
}
  
.btn-center{
    text-center:center;
    margin:0 auto;
}
登录后复制

2、写控制器

其中就是login方法与ulogin方法

controller包下IndexController类

package cn.pangpython.controller;
  
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.kit.SessionIdKit;
  
import cn.pangpython.model.User;
import cn.pangpython.utils.DateUtils;
import cn.pangpython.utils.MD5;
import cn.pangpython.validate.RegistValidator;
import cn.pangpython.validate.UserLoginValidator;
  
/**
 * @author pangPython
 * 主页控制器
 */
public class IndexController extends Controller {
    public void index(){
        renderText("index");
    }
  
    //渲染注册页面
    public void regpage(){
        render("regist.html");
    }
  
    //处理注册
    @Before(RegistValidator.class)
    public void regist(){
        String pwd = getPara("user.pwd");
        String confirm = getPara("reg.confirm");
  
        //验证码验证
        boolean result = validateCaptcha("reg.yzm");
        if(!result){
            setAttr("yzmErrMsg", "验证码错误!");
            render("regist.html");
            return;
        }
        //确认密码验证
        if(!pwd.equals(confirm)){
            setAttr("confirmErrMsg", "请正确填写确认密码!");
            render("regist.html");
            return;
        }
  
        String uname = getPara("user.name");
        User user = getModel(User.class);
        String reg_time = DateUtils.dateToUnixTimestamp(DateUtils.getNowTime())+"";
        //使用用户注册日期作为md5密码加密的盐值,可节省一个salt数据库字段
        pwd = MD5.GetMD5Code(pwd+reg_time);
  
        //给user实体类填充数据
        user.setName(uname);
        user.setPwd(pwd);
        user.setRegTime(reg_time);
  
        //使用jfinal的保存操作
        user.save();
  
        renderText("注册成功!");
    }
  
    public void login(){
        render("login.html");
    }
  
    @Before(UserLoginValidator.class)
    public void ulogin(){
        // 验证码结果
        boolean result = validateCaptcha("yzm");
        if (!result) {
            setAttr("yzmErrMsg", "验证码错误!");
            render("login.html");
            return;
        }
  
        String uname = getPara("user.name");
        String sql = "select * from user where name = ? limit 1";
  
        User user = User.dao.findFirst(sql, uname);
        if (user != null) {
            String pwd = MD5.GetMD5Code(getPara("user.pwd") + user.getRegTime());
  
            if (user.getPwd().equals(pwd)) {
  
                // 生成唯一标识
                String sessionId = SessionIdKit.me().generate(getRequest());
                // 设置服务器端session
                setSessionAttr(sessionId, user);
                // 设置用户端cookie
                setCookie("cuser", sessionId, 60000);
                //redirect("/user");
                renderText("登录成功!");
  
            } else {
                // 密码不正确
                setAttr("UnameErrMsg", "用户名或密码不正确!");
                render("login.html");
            }
  
        } else {
            // 用户名不存在
            setAttr("UnameErrMsg", "用户名不存在!");
            render("login.html");
        }
  
    }
  
}
登录后复制

3、写登录验证器

validator包下的UserLoginValidator继承JFinal的Validator

import com.jfinal.core.Controller;
import com.jfinal.validate.Validator;
  
public class UserLoginValidator extends Validator {
  
    @Override
    protected void handleError(Controller controller) {
        controller.keepPara();
  
    }
  
    @Override
    protected void validate(Controller arg0) {
        validateRequired("user.name", "UnameErrMsg", "请输入用户名!");
        validateRequired("user.pwd", "PwdErrMsg", "请输入密码!");
        validateRequired("yzm", "yzmErrMsg", "请输入验证码!");
    }
  
}
登录后复制

效果展示:

f48e5692d734b9891d2bfbc1f15de65.png

11875bb93bf19f210871e462a531d70.png

相关推荐:layui

以上是layui登录界面美化效果展示的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

win10没有切换用户怎么办? win10登录界面没有切换用户选项解决办法 win10没有切换用户怎么办? win10登录界面没有切换用户选项解决办法 Jun 25, 2024 pm 05:21 PM

Windows10用户可能会遇到的一个问题就是在登录界面没有找到切换用户选项,那么win10登录界面没有切换用户选项怎么办?下面就让本站来为用户们来仔细的介绍一下win10登录界面没有切换用户选项详解吧。win10登录界面没有切换用户选项详解方法一:检查用户账户设置:首先,请确保你的计算机上有多个用户账户,并且这些账户都是启用状态。你可以通过以下步骤检查和启用账户:a.按下Win+I键打开设置,然后选择“帐户”。b.在左侧导航栏中选择“家庭和其他人”或&ld

解决win11登录界面的无限循环问题 解决win11登录界面的无限循环问题 Jan 29, 2024 pm 12:57 PM

很多用户在启动电脑时可能会遇到登录界面死循环的问题,即无法成功进入系统。最近,一些使用win11系统的用户也遇到了这个问题。本期小编将分享两种解决方法,按照步骤操作可以成功进入系统,不再陷入死循环。希望本期win11教程能帮助更多人解决这个问题。win11登录界面死循环怎么办方法一:1、首先我们可以尝试使用电源键重启电脑,看看能不能通过重启的方式进行解决。2、如果无法解决的话,连续重启电脑3次以上会进入高级修复选项,然后选择疑难解答。4、接着在高级选项中选择卸载更新就可以了。5、输入netshw

layui怎么获取表单数据 layui怎么获取表单数据 Apr 04, 2024 am 03:39 AM

layui 提供了多种获取表单数据的方法,包括直接获取表单所有字段数据、获取单个表单元素值、使用 formAPI.getVal() 方法获取指定字段值、将表单数据序列化并作为 AJAX 请求参数,以及监听表单提交事件获取数据。

layui登陆页面怎么设置跳转 layui登陆页面怎么设置跳转 Apr 04, 2024 am 03:12 AM

layui 登录页面跳转设置步骤:添加跳转代码:在登录表单提交按钮点击事件中添加判断,成功登录后通过 window.location.href 跳转到指定页面。修改 form 配置:在 lay-filter="login" 的 form 元素中添加 hidden 输入字段,name 为 "redirect",value 为目标页面地址。

layui如何实现自适应 layui如何实现自适应 Apr 26, 2024 am 03:00 AM

通过使用layui框架的响应式布局功能,可以实现自适应布局。步骤包括:引用layui框架。定义自适应布局容器,设置layui-container类。使用响应式断点(xs/sm/md/lg)隐藏特定断点下的元素。利用网格系统(layui-col-)指定元素宽度。通过偏移量(layui-offset-)创建间距。使用响应式实用工具(layui-invisible/show/block/inline)控制元素的可见性和显示方式。

layui跟vue有啥区别 layui跟vue有啥区别 Apr 04, 2024 am 03:54 AM

layui与Vue的区别主要体现在功能和关注点上。layui专注于快速开发UI元素,提供预制组件简化页面构建;而Vue是一个全栈框架,注重数据绑定、组件化开发和状态管理,更适合构建复杂应用程序。 layui学习简单,适合快速构建页面;Vue学习曲线陡峭,但有助于构建可扩展和易维护的应用程序。根据项目需求和开发者技能水平,可以选择合适的框架。

win11卡在登录界面 win11卡在登录界面 Jan 07, 2024 am 09:29 AM

在更新了win11之后,有些用户会碰到一些问题,这是win11的bug也是很正常的,我们同样也是会遇到在登录界面卡死甚至是一直的转圈圈,进不去,这样的情况该如何处理呢。win11卡在登录界面:1、我们可以尝试通过重启来解决问题,因为重启一般来说可以解决大部分的问题。2、要是重启解决不了的话,我们可以连续重启电脑三次,进入高级修复选项。3、进入高级修复选项之后点击“疑难解答”。4、然后点击“高级选项”。5、最后选择“卸载更新”就可以解决问题了。拓展阅读:驱动加载失败

layui怎么运行 layui怎么运行 Apr 04, 2024 am 03:42 AM

要运行 layui,请执行以下步骤:1. 导入 layui 脚本;2. 初始化 layui;3. 使用 layui 组件;4. 导入 layui 样式(可选);5. 确保脚本兼容并注意其他注意事项。通过这些步骤,您就可以使用 layui 的强大功能构建 web 应用程序。

See all articles