第十五章:第2节论坛系统(BBS)实现管理员登录

更新于:2018-06-29 17:18:21

1)



楠神准备使用ajax页面无刷新登录,看源码:


1.png


xcConfirm是一个提示窗口JS插件


有关HTML页面中的CSS、JS、HTML楠神不多讲了,大家自己去看,不难,都是前面的知识。


有关验证码:


1.png


TP框架已为我们写好了验证码功能,我们可直接拿来用,在HTML执行captcha_src函数可得到验证码的URL,或者直接用/captcha.html


1.png


这段JS代码“javascript:this.src='{:captcha_src()}?'+new Date().getTime()”的作用:点击可刷新验证码,以及防止浏览器对验证码图片产生缓存。


可在config.php文件中对验证码做配置


1.png


2)


开始写ajax登录处理方法


1.png


说明:


captcha_check函数:验证验证码是否正确的函数,此函数由TP框架提供。在\vendor\topthink\think-captcha\src\helper.php中定义的。


_ajaxR方法:是楠神在AllCommon控制器类中定义的可输出json字符串的方法。


g_text函数:文本处理函数


g_md5函数:自定义的md5加密函数


AdminLogin、Admin模型类楠神对insert方法都做了重写,大家自己去看代码。


1.png


3)


往数据库插入一个管理员,看看我们的代码是否成功


1.png


楠神在application目录又写了一个模块test,主要方便我们做测试用的。


输入https://www.phpnanshen.com/test执行代码


1.png


确保数据表插入数据成功!


然后在登录页面输入数据,登录。


1.png


看图,这样代表着登录成功了!


页面会自动跳转到https://www.phpnanshen.com/admin/index/index


当我们再次输入

https://www.phpnanshen.com/admin/login,还是会跳转到https://www.phpnanshen.com/admin/index/index


这是因为这行代码在起作用:


1.png


4)


再写一个退出的方法


1.png

执行

https://www.phpnanshen.com/admin/index/logout就可清空session,等于退出。


备注:


如果只是依靠判断session中有没有下标为“admin”的数组数据($_SESSION['admin'])来标记用户有没有登录,这样太过于简单,不是太安全。这节我们暂且这样写,第19节这个地方的代码楠神会修改下,多加一些判断验证。


本节学习代码》》》