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", "请输入验证码!"); } }
效果展示:
相关推荐:layui
以上是layui登录界面美化效果展示的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

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

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