php實現簡單的留言板功能(附原始碼)

2020-07-16 10:05:57

php實現簡單的留言板功能

1、原理

簡單的說就是 資料庫的建立,新增資料,顯示在前端上。我的程式只是簡單的留言再顯示。

首先寫好留言的前端頁面,就簡單的寫入作者,標題和內容。

2、介面

捕獲.PNG

3、顯示留言的介面

20.PNG

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實現簡單的留言板功能(附原始碼)的詳細內容,更多請關注TW511.COM其它相關文章!