文章教程

5.22站内留言系统——写成并发送留言

9/17/2020 9:43:31 PM 人评论 次浏览

5.22 站内留言系统——写成并发送留言

本节介绍站内留言的作成,单击“作成”按钮,进入如下图所示的留言写成页面。

alt

留言写成

要点

因为不是真正的邮件发送系统,站内留言作成实际上只是向表recievemessage与表sendmessage中登录数据,逻辑非常简单。

这里需要补充的是,在输入框(相当于接受邮件地址)中输入用户ID后,必须单击“追加”按钮将用户ID追加到接受接受对象栏中的同时,进行输入用户ID的有效性检查。

当只是以草稿的形式保存留言时,只向表sendmessage中登录数据。而发送留言时,会向表recievemessage与表sendmessage中登录数据。

目录

alt

代码

alt

与其他页面相同,调用setHeaderInfo方法生成页面上部的菜单信息。

alt

留言写成页面提供了从自己的朋友列表中直接选择发送对象的功能,getFriendList方法就是用于取得自己的朋友列表的。

alt

取出Query信息中的留言发送对象、留言标题等信息。单击“回信”“转送”等链接时,会将上述信息传过来。

alt

定义“送信”动作,实际上只是将输入的信息保存到系统的数据库中。

alt

保存输入信息的是saveMessage方法完成的工作。

alt

根据将输入信息保存为草稿或直接发送,而跳转到草稿箱或送件箱。

alt

setMessageInfo方法取得留言信息,用于留言详细页面显示。

alt

单击留言详细页面的删除链接,删除留言至垃圾箱。

alt

delMessageOne方法删除当前显示的留言。

alt

定义检查用户ID有效性的动作。

alt

checkUser方法用于真正的用户ID有效性检查。

alt

saveMessage方法用于保存输入的留言信息。如果单击了“保存为草稿”按钮(mode为2),则只在sendmessage表中保存数据。如果单击了“送信”按钮,则在表sendmessage与recievemessage中同时保存数据,这样接受用户就可以看到表recievemessage中的数据了,相当于将留言发送出去了。

alt

分离选择的接受对象用户ID。

alt

针对所有的接受对象用户,在表sendmessage里登录数据。

alt

如果单击了“送信”按钮,则与上述的过程一样,循环在表recievemessage中登录留言信息,相当于将留言发送到接受方。

alt

setMessageInfo方法根据留言ID取出留言用于详细页面的显示。

alt

如果是从收件箱查看留言的话,则将阅读标志置为1(阅读标志置为0时,将在留言信息一览中显示未阅读的标志)。

alt

如果是收件留言,则从表recievemessage中进行检索,在其他留言的情况下,则从表sendmessage中进行检索。

alt

转换留言主体中的关于链接部分的代码。

alt

定义留言详细页面的删除方法。根据显示留言的不同,删除的对象表是不同的。

alt

如果显示的是收件箱里的留言,才更新表recievemessage里的相应留言记录的删除标志为1。

alt

如果显示的是草稿或送件箱里的留言,则更新表sendmessage里的相应留言记录的删除标志为1。

alt

上述以外,则肯定是从垃圾箱里的留言了,此时,根据垃圾箱留言的来源(表recievemessage或表sendmessage),物理删除来源表里的数据。

alt

定义用户ID有效性检查方法。

处理过程就是,检索输入的用户ID是否在用户表user中存在。不存在时返回错误信息。

用户ID有效性检查用到了Ajax技术,有兴趣的朋友请参照本书的官方网站,或相关书籍以及Internet上的技术信息。

alt

单击“朋友列表”按钮,将显示用户的朋友列表。

alt

如果不是垃圾箱里的留言,则显示“编辑此留言”链接。

alt

教程类别