PHP에서 간단한 메시지 게시판을 구현하는 방법: 1. 데이터베이스에 두 개의 테이블을 만듭니다. 2. 보내기 페이지와 메시지 페이지를 작성합니다. 3. 세션을 통해 사용자 로그인을 구현합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.4, Dell G3 컴퓨터.
PHP에서 간단한 게시판을 구현하는 방법은 무엇입니까?
PHP+MySql은 간단한 메시지 보드를 구현합니다.
//글쎄요, 제가 직접 코드를 작성하지는 않았지만, 좀 더 보기 좋게 작성할 시간이 생겼습니다. 제가 직접 하나~ (미숙해서 하루걸렸네요...
게시판은 WEB 개발 문의의 기본입니다. 메시지판을 작성하려면 프론트엔드의 기본 태그 몇개를 알아야 하고, 이해가 있어야 합니다. 데이터베이스의 기본 SQL 언어, PHP 기본 지식, 기본 프런트 엔드 + 데이터베이스 기본 + PHP 기본 => 메시지 보드
인터페이스가 정말 놀랍습니다...
먼저 데이터베이스를 생성합니다. 데이터베이스, 계정 비밀번호 저장용, 메시지 정보 저장용
//创建数据库,里面有两张表Admin和Message create database gbook; //创建Admin表,记录用户名和密码 create table admin( username varchar(20) not null, userpass varchar(20) not null ); //创建Message表,记录留言的id,留言人,留言日期,留言内容以及回复 create table message( id int(4) not null auto_increment primary key, author varchar(20) not null, addtime datetime not null, content varchar(1000) not null, reply varchar(1000) not null );
먼저 사용자가 메시지를 남기는 부분을 구현합니다. 메시지가 없으면 인덱스 페이지가 비어 있게 됩니다~
<!-- 1.用户填写留言部分 send.php --> <!-- 可以首先编写send页面,只有用户提交了留言才能进行后面的留言显示,留言管理等等 --> <?php $name = $_POST["name"];//从input里面传过来的name //看用户是否提交了新留言,如果提交了,则写入表message if( $name != ""){ $content = $_POST["content"]; //下面的代码用于获得当前日期和时间 $addtime = date("Y-m-d h:i:s");//得到日期 $link = mysqli_connect("127.0.0.1","root","Vmorish");//PHP连接数据库 if( $link) echo "ok!<br>"; else { echo "bad!<br>"; } mysqli_select_db($link,"gbook");//选择数据库 $insert = "insert into message(author,addtime,content,reply) values('$name','$addtime','$content','')"; mysqli_query($link,$insert); mysqli_close($link); echo "<script language=javascript>alert('留言成功!单击确定查看留言.');location.href='index.php';</script>"; } mysqli_close($link); ?> <html> <head> <title>欢迎来到陈雨情的留言本吼吼吼</title> </head> <body> <!-- border-collapse:collapse合并表格的边框 --> <table border=1 cellspacing=0 cellspadding=0 style="border-collapse:collapse" align=center width=400 bordercolor=black> <tr> <td height=100 bgcolor=#6c6c6c> <font style="font-size:30px" color=#ffffff face="黑体">欢迎来到×××的留言本吼吼吼</font> </td> </tr> <tr> <td height=25> <a href=send.php>[我要写留言]</a> <a href=login.php>[管理留言]</a> </td> </tr> <tr> <td height=200> <form method="POST" action="send.php"> <table border="1" width="95%" id="table1" cellspacing="0" cellpadding="0" bordercolor="#808080" style="border-collapse:collapse" height="265"> <tr> <td colspan="2" height="29"> <p align="center">欢迎填写你的留言</p> </td> </tr> <tr> <td width="32%"> <p align="right">你的名字</p> </td> <td width="67%"> <input type="text" name="name" size="20"> </td> </tr> <tr> <td width="32%"> <p>留言内容</p> </td> <td width="67%"> <textarea rows="10" name="content" cols="31"></textarea> </td> </tr> <tr> <td width="99%" colspan="2"> <p align="center"> <input type="submit" value="提交" name="B1"> </p> </td> </tr> </table> </form> </td> </tr> <tr> <td height=80 bgcolor=#6c6c6c align=center> <font color="#FFFFFF"> 版权所有:<a href="http://blog.csdn.net/cherish0222">Vmorish</a><br> E-mail:vmorish@163.com </font> </td> </tr> </table> </body> </html>
효과:
그런 다음 메인 페이지로 이동할 수 있습니다
<!-- 2.留言本首页 index.php --> <!-- 本页面显示十条最近的的留言,并且有分页功能 --> <html> <head> <title>欢迎来到陈雨情的留言本吼吼吼</title> <style type="text/css"> TD{ font-size: 12px; line-height: 150%; } </style> </head> <body> <table border=1 cellspacing=0 cellspadding=0 style="border-collapse:collapse" align=center width=400 bordercolor=black height=382> <tr> <td height=100 bgcolor=#6c6c6c style="font-size:30px;line-height:30px"> <font color=#ffffff face="黑体">欢迎来到×××的留言本吼吼吼</font> </td> </tr> <tr> <td height=25> <a href=send.php>[我要写留言]</a> <a href=login.php>[管理留言]</a> </td> </tr> <tr> <td height=200> <?php $link = mysqli_connect("127.0.0.1","root","Vmorish"); mysqli_select_db($link,"gbook"); $query = "select * from message"; $result = mysqli_query($link,$query); if( mysqli_num_rows($result) < 1){ echo " 目前数据表中还没有任何留言!"; }else{ $totalnum = mysqli_num_rows($result);//获取数据库中所有数据条数 $pagesize = 7;//每页显示7条 $page = $_GET["page"]; if( $page == ""){ $page = 1; } $begin = ($page-1)*$pagesize; $totalpage = ceil($totalnum/$pagesize); //输出分页信息 echo "<table border=0 width=95%><tr><td>"; $datanum = mysqli_num_rows($result); echo "共有".$totalnum."条留言,每页".$pagesize."条,共".$totalpage."页。<br>"; //输出页码 for( $i = 1; $i <= $totalpage; $i++){ echo "<a href=index.php?page=".$i.">[".$i."] </a>"; } echo "<br>"; //从message表中查询当前页面所要显示的留言,并根据时间排序 $query = "select * from message order by addtime desc limit $begin,$pagesize"; $result = mysqli_query($link,$query); $datanum = mysqli_num_rows($result); //循环输出所有留言,如果管理员已经回复则同时输出回复 for( $i = 1; $i <= $datanum; $i++){//$datanum??? $info = mysqli_fetch_array($result); echo "->[".$info['author']."]于".$info['addtime']."说:<br>"; echo " ".$info['content']."<br>"; if( $info['reply'] != ""){ // <b></b>显示粗体 echo "<b>管理员回复:</b>".$info['reply']."<br>"; } echo "<hr>"; }//else结束 echo "</td></tr></table>"; } mysqli_close($link) ?> </td> </tr> <tr> <td height=80 bgcolor=#6c6c6c align=center> <font color="#FFFFFF"> 版权所有:<a href="http://blog.csdn.net/cherish0222">Vmorish</a><br> E-mail:vmorish@163.com </font> </td> </tr> </table> </body> </html>
효과:
그런 다음 관리자가 로그인합니다
<!-- 3.管理员登录页面 login.php --> <!-- 供管理员登录 --> <!-- 体会session实现用户登录的方法 --> <?php $name = $_POST["name"]; if( $name != ""){ $password = $_POST['password']; $link = mysqli_connect("127.0.0.1","root","Vmorish"); mysqli_select_db($link,"gbook"); $query = "select * from admin where username = '$name'"; $result = mysqli_query($link,$query); if( mysqli_num_rows($result) < 1){ echo "该用户不存在,请重新登录!<br>"; }else{ $info = mysqli_fetch_array($result); if( $info['userpass'] != $password){ echo "密码输入错误,请重新登录!<br>"; }else{ //如果用户名密码都正确,则注册一个session来标记其登录状态 echo "hhhh<br>"; session_start(); // $_SESSION["login"] = "YES"; echo "<script language=javascript>alert('登录成功!');location.href='manage.php';</script>"; } } mysqli_close($link); } ?> <html> <head> <title>欢迎来到陈雨情的留言本吼吼吼</title> </heda> <body> <table border=1 cellspacing=0 cellspadding=0 style="border-collapse:collapse" align=center width=400 bordercolor=black height="358"> <tr> <td height=100 bgcolor=#6c6c6c style="font-size:30px;line-height:30px"> <font color=#ffffff face="黑体">欢迎来到×××的留言本吼吼吼</font> </td> </tr> <tr> <td height=25> <a href=send.php>[我要写留言]</a> <a href=login.php>[管理留言]</a> </td> </tr> <tr> <td height=178> <form method="POST" action="login.php"> <table border="1" width="95%" id="table1" cellspcing="0" cellpadding="0" bordercolor="#808080" style="border-collapse" height="154"> <tr> <td colspan="2" height="29"> <p align="center">欢迎管理员登录</p> </td> </tr> <tr> <td width="32%"> <p align="center">用户名</P> </td> <td width="67%"> <input type="text" name="name" size="20"> </td> </tr> <tr> <td width="32%"> <p align="center">密 码</p> </td> <td> <input type="password" name="password" size="20"> </td> </tr> <tr> <td width="99%" colspan="2"> <p align="center"><input type="submit" value="登录" name="B1"></p> </td> </tr> </table> </form> </td> </tr> <tr> <td height=80 bgcolor=#6c6c6c align=center> <font color="#FFFFFF"> 版权所有:<a href="http://blog.csdn.net/cherish0222">Vmorish</a><br> E-mail:vmorish@163.com </font> </td> </tr> </table> </body> </html>
효과:
man age.php를 입력하고 응답하세요. php는 이전 것과 유사하므로 여기서는 제공하지 않겠습니다(아직 작성하지 않았지만... 구현은 이전 것과 유사합니다
마지막으로 로그아웃하고 로그인합니다
778ac6ed3ed4dd141640aaf612719100 9ef252f54a127e5e87adb5bbb0d50cd0回首页5db79b134e9f6b82c0b36e0489ee08ed]"; exit; ?>
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP로 간단한 게시판을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!