齐博x1第五季《项目实战-留言板》11-添加用户字段

2022-05-09 作者:torylf 分类:教程 阅读:933

本节来添加一个用户字段来记录留言者身份

即时演示地址:http://x1.alaiyeshi.net/msgboard


有映像的用户应该记得,我们在第三节数据表设计的时候,预存了一个uid字段,一直没有使用。

本节我们就来启用这个uid字段,让其存入用户的id


要存入uid字段,并在后台显示用户,我们需要以下两步


1:前台表单模板中添加一个name等于uid的隐藏的input,提交的时候会把uid直接提交,不需要我们手写填入,看如下代码:



我们用tp标签notempty来判断系统提供的用户变量$userdb是否为空,如果没有登录的状态则是为空的


如果没有登录我们用-1代表游客的uid




2:添加后台留言列表中显示uid字段


添加uid字段显示很容易,只要添加相应的数组信息即可

我们再次提交留言信息看下:

当前我分别用管理登录状态,和游客状态提交了数据,并多出一个uid的显示。


其实这里体验是不好的,因为uid是给系统看的,我们用户应该看到的是用户名,或者是游客,否则用户多了,

就会是各种各样的数字id,游客多了,就全部都是-1.


我们在字段显示那,可以用到回调函数callback来自定义显示,看下代码:

直接判断,如果uid为-1时,就返回游客,否则根据uid返回用户名。

回调函数说明,请看上一季公共模板列表教程。这里不在重复叙述。


我们再看留言列表,这里就显示了用户名称或者游客的展示


这里另外再提供一种方法,直接在php里添加该用户的uid


只不过从模板里提交更直观的让用户知道数据从哪里来。


我们获取post数据过来后,赋值给了data变量,这时data是一个数组,之前我们打印过。

这样的话,我们就可以另外添加数组元素,比如 data['uid'] = -1,这就代表游客

因为我们系统提供了一个user的属性,登录后就会存在user用户信息,未登录状态,user则是空信息,所以我们只要对user做判断


如此uid同样可以写入到数据表中,这样模板就不需要在添加隐藏元素来提交了。

用户可以自行斟酌用什么方法获取uid数据。



到此我们为其命名为留言板1.06版本,即msgboard 1.06





来源: 神盾工作室    转载请注明出处!

本文地址:https://shieldsoho.com/article/151.html

 标签: 模块开发 齐博X1
{{item.nickname}} @回复
发表于{{item.create_time}}

  • {{replyitem.nickname}} {{item.create_time}}
    @{{item.nickname}}

查看更多评论