齐博x1第五季《项目实战-留言板》11-添加用户字段
本节来添加一个用户字段来记录留言者身份
即时演示地址: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
来源: 神盾工作室 转载请注明出处!
查看更多评论