发布网友 发布时间:2022-05-19 20:10
共2个回答
懂视网 时间:2022-05-20 00:31
一、说明热心网友 时间:2022-05-19 21:39
一、留言板界面制作
这个很简单都是基础的东西,主要是利用html+css来制作!但大家要注意一下几点:
1,是否用textarea标签来记录用户输入的内容
其实textarea标签挺好的,他可以转义特殊字符,比如用户输入<div>,那么他会转义成& lt;div& gt;,这样就省得以后来验证用户恶意评论啦!但是它不能插入表情,就是说当用户插入表情时,他显示的是代码而不是图片,这样就会大大减少了用户体验!所以我们还是用div标签来记录用户输入的内容,这样在div属性中加入contenteditable=true,用户就可以在div中输入内容啦!
2,用加载留言板的方式来显示留言板
我们可以将留言板的代码单独放在一个文件夹中,然后利用jQuery的load函数来加载留言板文件,这样的好处就是避免了代码冗余,如果我们别的地方用到了留言板或者文章评论都可以调用这一个文件就行啦!
二、选择头像
1,制作一个头像页面,里面向用户展示所有的头像
2,在留言板页面,当用户点击头像时打开头像页面,用window.open()函数,具体用户大家可以到手册查查,这是JavaScript的函数!
3,在头像页面,当用户选择一个头像时,利用jQuery语句 $('',window.opener.document) 在双引号里面填写留言板页面的头像元素,这样可以获取父页面也就是留言板页面的元素,这样用户选择的头像就可以记录在留言板页面拉!
三、谷歌浏览器输入的bug
这里我们用谷歌浏览器打开留言板输入内容的话,会有一个bug!当我们在div标签中点击回车键,谷歌浏览器会往下面空出一大行,因为它不像别的浏览器添加<br>而是添加了<div><br></div>,这个很是烦人啊!我想了半天觉得如果利用正则来出去div标签很麻烦而且说不定还会有别的差错,所以最后我决定直接禁止用户点击回车键!(注意单引号需要填入留言板div标签的元素)
$('').keydown(function (event) {
if (event.keyCode == 13) {
return false;
}
});
四、提交用户留言
1,我们利用ajax来提交用户内容,然后php文件中利用php中的mysql_escape_string()函数将用户信息和留言中的特殊字符进行转义,最后将这些都记录入数据库!
2,如何判断是用户提交的内容是留言还是回复留言
我们给数据库加一个pid字段,如果是用户是留言就将pid设为0,如果是回复其他人的留言就设置成留言的id!下面看图具体解释:
王业楼的留言的人,团团是回复王业楼的人,那么我们就将王业楼的pid设为0,团团的pid设置为王业楼的id,如果下面还有回复王业楼的人都设置为王业楼的id,然后按时间来排序!
这样就可以将用户的留言内容提交到数据库了,至于如果从数据库取出留言内容,并按照留言和回复留言来分类,请看下面php制作留言板(二)
本文摘自王业楼的个人博客
追问有没有源代码