先来看一下添加新用户按钮的前端页面,可以看到,继承base.html这个父模板之后,只要block内为空,就不会显示相应的内容。
在这个添加新用户的页面中,底部直接上了jquery代码
第一个注释处,说明只有当表单中的数据发生改变,才会执行移除提交按钮的“不可用”状态
第二处注释就是当鼠标不在名字那一栏的时候,将请求数据提交到服务器的检测重名的方法中去,并且检查是否重名,若结果返回成功,查看状态信息,为1就成功,否则失败。具体是如何检测重名的,并且返回什么提示信息,得看服务器端的脚本。
这样的脚本现在看起来没那么难了。有进步。。。
上面还只是一个添加新用户的页面的第一步而已,鼠标才移动到提交按钮,下面是关于提交表单按钮的功能脚本。(等等,上面鼠标一旦移开,会向服务器发送请求,查是否重名,如果我用burpsuite截获数据包,中间将名字改为不重复的,但是我真正提交下面表单的时候,提交的却是重复的名字,会怎样?嗯,这可能是是一个很严重的逻辑漏洞,哈哈!)
下面是邮箱输入框的jquery代码
上面这两幅图是鼠标移开邮箱的时候,发送的请求。原理和上面鼠标从名字移开是一样的原理。
下面到了最后的提交按钮了
表单提交到服务器端的验证脚本,服务器脚本先提取出数据,然后制定比对规则,比如必须要填写,最小字符长度,最大字符长度,然后开始根据规则比对。最后,如果都符合比对规则,那么就创建用户。代码逻辑不难。
以上内容就是添加新用户那个按钮功能的全部实现!下面到了编辑按钮的实现了!
同理,还是先看html页面,下面这个admin_edit.html页面就是编辑页面
哈哈,原来原理都是一样的嘛!编辑页面,还是一样的操作,但是要区别的是,这个编辑页面的前端样式代码中,会利用eq结合sessionID来判断你是不是超级管理员,然后才给你看一些修改页面,否则就会给你隐蔽掉。
上面的代码有点小问题。他的$data被注释掉了,按这个代码的逻辑来看,不应该注释掉$data的。不注释掉,代码感觉也不对。先停在这。
继续看软删除功能的实现:
要做以下几件事,第一在数据库模型的User.php中,要引入软删除类,并且导入软删除方法集。最后,将$deleteTime设置成数据表中的'delete_time'字段。
用户管理的界面,里面的删除按钮,对应的应该是提交到这个方法里。还得自己去看源代码。。
再看一下将删除过的信息全部恢复的操作。下面这个脚本,将信息提交到上面的恢复删除操作上。至于为什么上面的代码那么写,就能恢复成功,原理我还没搞懂。可能和之前的Mode类里面的成员属性设置有关系。
网友评论