php实现简单的留言板功能
1、原理
简单的说就是 数据库的创建,添加数据,显示在前端上。我的程序只是简单的留言再显示。
首先写好留言的前端页面,就简单的写入作者,标题和内容。
2、界面:
3、显示留言的界面:
4、代码
(1)添加留言的页面
<!DOCTYPE HTML> <HTML> <Head> <meta http-equiv="CONTENT-TYPE" ; content="text/html" ; charset="UTF-8"> <title>留言</title> <style type="text/css"> .message{ margin-top:0px; } h1{ margin-top:200px; } </style> </Head> <Body> <h1 align="center">留言板</h1> <div class="message"> <form name="addform" id="addform" method="post" action="message_handle.php"> <table type="text" align="center" border="1px,solid"> <input type="hidden" id="id" name="id" /> <tr> <td>标题</td> <td><input type="text" name="title" id="title"/></td> </tr> <tr> <td>作者</td> <td><input type="text" name="author" id="author"/> </td> </tr> <tr> <td>内容</td> <td><textarea name="message" id="message" cols="60" role="15"></textarea></td> </tr> <tr> <td><input type="submit" name="sumbit"/></td> <td><input type="reset" name="reset"/></td> </tr> </table> </form> </div> </Body> </HTML>
(2)留言的后台处理,把作者,标题,内容存入建好的数据库中
<?php header("CONTENT-TYPE:text/html;charset=UTF-8"); define("HOST","127.0.0.1"); define("USERNAME","root"); define("PASSWORD",""); if($con=new mysqli(HOST,USERNAME,PASSWORD,"test")){ echo $con->error; } if($con->select_db("messageboard")){ echo $con->error; } if($con->query("SET NAMES utf8")){ echo $con->error; } $id=$_POST["id"]; $title=$_POST["title"]; $author=$_POST["author"]; $message=$_POST["message"]; $time=date('y-m-d h:m:s'); $sql="insert into messageboard(id,title,author,message,dateline) values('$id','$title','$author','$message','$time')"; if($str=$con->query($sql)){ echo "<script>alert('留言成功');window.location.href='show_message.php'</script>"; } else { echo "<script>alert('留言失败');window.location.href='messageboard.php'</script>"; } ?>
(3)下面是显示留言的页面代码
<?php header("CONTENT-TYPE:text/html;charset=UTF-8"); define("HOST","127.0.0.1"); define("USERNAME","root"); define("PASSWORD",""); if($con=new mysqli(HOST,USERNAME,PASSWORD,"test")){ echo $con->error; } if($con->select_db("messageboard")){ echo $con->error; } if($con->query("SET NAMES utf8")){ echo $con->error; } $sql="select * from messageboard ORDER BY dateline DESC "; $str=$con->query($sql); if($str && mysqli_num_rows($str)){ while($row= mysqli_fetch_assoc($str)){ $data[]=$row; } } ?> <!DOCTYPE HTML> <HTML> <Head> <meta http-equiv="CONTENT-TYPE" ; content="text/html" ; charset="UTF-8"> <title>留言板</title> <style type="text/css"> </style> </Head> <Body> <div> <?php if(empty($data)){ echo "当前没有留言"; } else{ foreach($data as $value) { ?> <table cellpadding="2" cellspacing="8" align="center" border="1px,solid"> <tr> <td>标题</td> <td><?php echo $value['title']; ?></td> </tr> <tr> <td>作者</td> <td><?php echo $value['author']; ?></td> </tr> <tr> <td>内容</td> <td><?php echo $value['message']; ?></td> </tr> <tr> <td><?php echo $value['dateline'];;?></td> </tr> </table> </div> <?php } } ?> </Body> </HTML>
5、所遇到的问题
刚开始显示页面上不能显示数据,找了半天原因,结果是因为在sql中写错了查询方式写成了:
select * from message where dateline desc;
用where得有条件,才能查询到。得有例如:
select * from message where dateline=$date;
因为我的程序没有从前个页面传递数据到这,所以只能用下面这种通过时间来排序罗列出所有数据。
select * from message order by dateline;
感谢大家的阅读,以上代码有不足的地方请大家指出,希望大家可以有所收获。
本文转载自:https://blog.csdn.net/jeak2015/article/details/53440522
推荐教程:《PHP教程》
以上是php实现简单的留言板功能(附源码)的详细内容。更多信息请关注PHP中文网其他相关文章!