php简单的留言板与回复功能具体实现

php简单的留言板与回复功能具体实现

留言板是在刚接触php时用来学习的一个简单的应用例子了,今天我再给初学php的朋友提供一个完整的php留言板的全部制作过程,希望对你会有帮助

在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个PHP程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图

php简单的留言板与回复功能具体实现

下面我们就来继续一下介绍

id 这个算是父Id 可以通过这个id来查询 在这个id下是否有子id 同时也可以记录这个是那条留言的id

son_id 这个是子id 然后通过这个id 可以找到相对应的父id

news_id 记录文章的id

sender_author 接受留言的人

receiver_author 发送留言的人

content 留言的内容

status 在有人回复你的帖子的时候 这个值从0转为1时候 该消息不在显示 如果没点击进去 该消息依然存在

time 记录留言的时间

留言板回复思路

当发送方(也就留言的人)要到该文章下留言或者回复的的时候就需要接收方(也就文章的作者或者要被回复的人)来接收。单数据库语句查询到这个键sender_author和receiver_author 的是就会知道接收方是谁和发送方是谁了。然后在根据这个判断来显示出回复内容

提示你有一条新的消息思路

当发送方发送消息的时候 这个status的值默认为0 就是提示接收发 你有一条新的消息。当点击进去的时候 调用数据库修改语句把指定的值修改成为1 这样就不显示了

查看评论的时候 的数据库操作语句

代码如下:

function message($id){

$query = $this->db->query("SELECT * FROM message WHERE news_id = '$id'");//或者文章id后查询里面所有评论

return $query->result();

}

这个是获取父的留言内容的代码

代码如下:

<?php foreach($query as $sel){?>

<p>留言用户:<?php echo $sel->receiver_author;?> 留言内容:<?php echo $sel->content?></p>

<?php }?>

用户是否登陆 并给予留言权限

代码如下:

<form name="form1" method="post" action="<?php echo site_url()."/publish/user_message"?>">

<textarea rows="5" cols="50" name="huifu" <?php if($uere_name == "0"){echo "disabled";}?> >

<?php

if($uere_name == "0")

{echo "抱歉你还没登录不能进行留言";}

?>

</textarea>

<input name="author" value="<?php echo $author;?>" /><!--接受方帖子作者-->

<input name="news_id" value="<?php echo $news_idx;?>" /><!--文章id-->

<input type="submit" name="Submit"/>

</form>

<script language="javascript">

function updateinfo(){

if(<?php echo $uere_name;?> == 1){

document.form1.Submit.value = "留言";

document.form1.Submit.disabled = false;

}

else{

document.form1.Submit.value = "还未登录";

document.form1.Submit.disabled = "disabled";

}

}

updateinfo();

</script>

这个是显示了 获取指定的父id 之后来显示他里面的全部子id 和留言内容

代码如下:

<p>这里是<?php echo $is;?>楼 用户:<?php echo $sel->receiver_author;?> <br />留言内容:<?php echo $sel->content?>

<a onClick="showdiv('contentid<?php echo $is;?>','showtext<?php echo $is;?>')" href="javascript:void(0)">回复</a>

<div >

<?php

$query = $this->db->query("select * from message where son_id ='$sel->id' order by id");//获取指定父id的子回复

$revis = $query->result();

foreach($revis as $row){?>

<p><?php if($row->sender_author == $row->receiver_author){echo $row->sender_author;}

else{ echo $row->sender_author."回复了:".$row->receiver_author;}?>

内容是:<?php echo $row->content?></p>

<?php }?>

<form action="<?php echo site_url()."/publish/son_message"?>" method="post">

<input name="son_idx" value="<?php echo $sel->id?>" />

<input name="receiver_author" value="<?php echo $sel->receiver_author;?>" />

<input name="news_id" value="<?php echo $news_idx;?>" /><!--文章id-->

<textarea rows="5" cols="50" name="huifux"></textarea>

<br><input type="submit" name="sub" value="回复"></form></div></p>

<script language="JavaScript" type="text/JavaScript">

<!--

function showdiv(targetid,objN){

var target=document.getElementById(targetid);

var clicktext=document.getElementById(objN)

if (target.style.display=="block"){

target.style.display="none";

clicktext.innerText="回复";

} else {

target.style.display="block";

clicktext.innerText='收起';

}

}

-->

</script>

这个是实现之后的效果图片 留言板已经实现了 留言内容回复

php简单的留言板与回复功能具体实现

然后这个是实现了 回复你的时候 会显示你有一条新的留言

php简单的留言板与回复功能具体实现