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教程》