PHP에서 간단한 게시판 기능을 구현하는 방법

墨辰丷
풀어 주다: 2023-03-27 09:48:02
원래의
6312명이 탐색했습니다.

이 글은 주로 PHP 간이 게시판 기능의 구현 코드를 자세하게 소개하고 있으며, 관심 있는 친구들은 참고할 수 있습니다.

구체적인 내용은 다음과 같습니다:

index.php

<?php   
  error_reporting(0); //关闭NOTICE提示
  require_once "conn.php";                     
  $pagesize=5;   //每页显示5条数据
  $sql="select count(*) from guestlist "; //选择数据库,计算符合条件的行数并返回行数
  $result= mysql_query($sql);  //执行,如果成功则返回结果集(从数据库中找到所有的数据,返回条数)
  $row = mysql_fetch_row($result);  //获得数组 Array[0]="数据库里的总条数"
  $infoCount =$row[0]; //获得总条数:取得数组中的值$row[0]="数据库里的总条数"                       
  $pageCount = ceil($infoCount/$pagesize); //获取总页数(总个数/每页的个数5)
  $currpage=empty ($_GET["page"])?1:$_GET["page"]; //如果当前页为空 则定义page=1即$currpage=1反之亦然
  if($currpage>$pageCount)  //如果输入的页数超过总页数则默认跳转到最后一页
  {
   $currpage=$pageCount;
  }  
?>
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title></title>
       <!--此处添加了bootstrip样式--> 
  <link href="../dist/css/bootstrap.min.css" rel="external nofollow" type="text/css" rel="stylesheet" />
  <link href="css/index.css" rel="external nofollow" type="text/css" rel="stylesheet" />
  <script>
   function test(){
    var sum;
    if(document.frm.title.value==&#39;&#39;){
     alert(&#39;请填写标题&#39;);
     return false;
    }else{
     sum =document.frm.title.value.length;
     if(sum<5 || sum>20){
      alert(&#39;标题长度 5-20个字符&#39;);
      return false;
     }
    }
    
    if(document.frm.username.value==&#39;&#39;){
     alert(&#39;请填写用户网名&#39;);
     return false;
    }
    
    if(document.frm.content.value==&#39;&#39;){
     alert("请填写内容");
     return false;
    }
   return true;
   }
  </script>
 </head>
 <body>
  <p class="content">
  <h5 style="color: red;"><?php echo $infoCount;?>条留言</h5><br/>
  <ul class="bt">
   <li>留言标题</li>
   <li>用户网名</li>
   <li>时间</li>
  </ul> 
   <?php               //从当前页开始 向下取出5个
      $re= mysql_query("select * from guestlist order by id desc limit ".($currpage-1)*$pagesize.",".$pagesize);
     while($row= mysql_fetch_assoc($re)) //得到一行数据的数组,再执行则得到再下一行,如果得到是最后一行,那么再执行则返回false
     {
     
      ?>
        <ul class="nr">
         <li><?php echo $row["title"];?></li>
         <li><?php echo $row["username"];?></li>
         <li><?php echo $row["addtime"];?></li>
        </ul>
        <p class="lynr">
        <p><strong>留言内容:</strong></p><span><?php echo $row["content"];?></span>  
        </p> 
       <?php
     }
   ?>
   <hr style="width:800px"/>
   <ul class="pagination"> 
    <!--上一页-->
    <?php 
      for($i=1;$i<=$pageCount;$i++)
       {
        
        if($i==$currpage)            
         {
         echo "<li><a href=?page=".($i-1).">«</a></li>"; 
         }
       
       } 
    ?> 
    <!--数字页-->
    <?php 
    
      for($i=1;$i<=$pageCount;$i++)
       {
        
        if($i==$currpage)            
         {
         echo "<li ><a style=&#39;background-color:#EEEEEE&#39;>$i</a></li>"; 
         }else{                
         echo "<li><a href=&#39;?page=$i&#39;>$i</a></li>";} 
       
       } 
    ?> 
    <!--下一页-->
    <?php 
    
      for($i=1;$i<$pageCount;$i++)
       {
        
        if($i==$currpage)            
         {
         echo "<li><a href=?page=".($i+1).">»</a></li>"; 
         }
       
       } 
    ?> 
   </ul>
   <br/>
   <ul>
   </ul>
   <hr/>
   <strong style="color:red">发表留言</strong>
   <form action="result.php" method="post" name="frm" onsubmit="return test()">
   <table cellpadding="0" cellspacing="0" >
    <tr>
     <td >留言标题:</td>
     <td><input type="text" name="title" autocomplete="off"/></td>
    </tr>
    <tr>
     <td>网名:</td>
     <td><input type="text" name="username" autocomplete="off"/></td>
    </tr>
    <tr>
     <td>留言内容:</td>
     <td><textarea name="content" cols="42" rows="5" autocomplete="off"/></textarea></td>
    </tr>
    <tr>
     <td></td>
     <td><input class="btn" type="submit" name="submit" value="提交"/></td>
    </tr>
   </table>
   </form>
  </p> 
 </body>
</html>
로그인 후 복사

conn.php

<?php
$link = mysql_connect("localhost","root"," ");
mysql_select_db("guestbook");
mysql_query("set names utf-8");
if(!$link){
 die("Connection failed: " . mysqli_connect_error());
}
 //echo "链接成功";
 
?>
로그인 후 복사

result.php

<?php
 error_reporting(0);                          //关闭NOTICE提示
 require_once "conn.php";
 $title = $_REQUEST[&#39;title&#39;];
 $username = $_REQUEST[&#39;username&#39;];
 $content = $_REQUEST[&#39;content&#39;];
 $content = str_replace("\n","<br>",str_replace(" "," ",$content)); //显示&#39;空格&#39;和&#39;回车&#39;
 $week = &#39;星期&#39;.mb_substr( "日一二三四五六",date("w"),1,"utf-8" );
    $isok =mysql_query("insert into guestlist(title,username,content,addtime)values(&#39;$title&#39;,&#39;$username&#39;,&#39;$content&#39;,&#39;".date("Y-m-d H:i:s")." $week &#39;)"); 
 if($isok)
  {
    echo "<script>
      alert(&#39;提交成功&#39;);
     location.href=&#39;index.php&#39;;
     </script>"; 
  }else {
    echo "<script>
      alert(&#39;提交失败&#39;);
     location.href=&#39;index.php&#39;;
     </script>";
  } 
?>
로그인 후 복사

css/index.css

body{margin:0;padding:0;}
ul,li{list-style: none;margin:0;padding:0;}
a{text-decoration: none;}
.content{
 width:800px;
 
 margin:0 auto;
 
}
.bt{
 width:799px;
 height:20px;
 text-align: center;
 background:#EB9316;
 margin:0 0 5px 0;
}
.bt>li{
 float:left;
 width:265px;
 height:20px;
 text-align: center;
 line-height: 20px;
 font-size:13px;
 
}
.nr{
 float:left;          /*如果不浮动 后面的lynr会受影响*/
 width:799px;
 height:20px;
 text-align: center;
 background:#B9DEF0;
}
.nr>li{
 float:left;
 width:265px;
 height:20px;
 text-align: center;
 line-height: 20px;
 font-size:13px;
 
}
.lynr{
 float:left;    /*如果不浮动会 布局会乱*/
 width:800px;
 margin:1px 0 1px 0;
 
}
.content p{
 width:70px;
 height:50px;
 float:left;
 
 
}
.content span{
 display: block;
 width:710px;
 float:left;
 
 
}

td{
 width:80px;
 padding:5px 0;
 /*border: 1px solid #79ABFE;*/
 }
td input,textarea{
 border: 1px solid #79ABFE;
}
/*tr{
 display:block;       /*将tr设置为块体元素 显示块状后 就将其包围住了 不是一个矩形了
 
 }*/
로그인 후 복사

dist/css/bootstrap(직접 다운로드)

효과 그림 :

관련 권장 사항:

간단한 PHP 메시지보드 기능 구현

php 메시지 시스템 (2)

이 간단한 메시지 PHP 메시지 책 예 코드

위 내용은 PHP에서 간단한 게시판 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!