返回列表 發帖

[專題]留言版(前台)

本帖最後由 guo.cane 於 2013-12-24 19:23 編輯

資料庫連線 connect.php
  1. <?php
  2.         header('Content-Type:text/html; charset=utf-8');
  3.         //格式(Host, 帳號, 密碼, 資料庫名稱), 連接成功後會回傳連線識別給 $link 變數
  4.         $link = @mysqli_connect('127.0.0.1', 'root', '3893527', 'board_db') or die('連線失敗,請洽詢管理者');
  5.         mysqli_query($link, "SET NAMES utf8");        //設定與Mysql溝通編碼
  6. ?>
複製代碼

首頁 index.php

本帖最後由 guo.cane 於 2013-12-26 20:25 編輯
  1. <?php
  2.         include_once('connect.php');        //將 connect.php 包含進此頁(一次), 達到連線功能
  3. ?>
  4. <html>
  5.         <head>
  6.                 <title>留言版</title>
  7.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8.         </head>
  9.         <body>
  10.         <?php
  11.                 $sql = "SELECT * FROM `articledata_tab`;";
  12.                 $result = mysqli_query($link, $sql);        //執行SQL語法
  13.         ?>
  14.                 <table border="2" width="80%" align="center">
  15.                         <tr>
  16.                                 <th>編號</th>
  17.                                 <th>標題</th>
  18.                                 <th>人氣</th>
  19.                                 <th>IP</th>
  20.                                 <th>建立日期</th>
  21.                         </tr>
  22.         <?php
  23.                 //從 $result 取資料並指派到 $data(陣列), 資料有幾筆While迴圈就會跑幾次
  24.                 while($data = mysqli_fetch_assoc($result)){
  25.                         echo '<tr>';
  26.                         echo '<td>'.$data['ad_id'].'</td>';
  27.                         echo '<td><a href="reply.php?ad_id='.$data['ad_id'].'">'.$data['ad_title'].'</a></td>';
  28.                         echo '<td>'.$data['ad_view'].'</td>';
  29.                         echo '<td>'.$data['ad_ip'].'</td>';
  30.                         echo '<td>'.$data['ad_datetime'].'</td>';
  31.                         echo '</tr>';
  32.                 }
  33.         ?>
  34.                 </table>
  35.         </body>
  36. </html>
複製代碼

TOP

回覆 reply.php

本帖最後由 guo.cane 於 2013-12-26 20:25 編輯
  1. <?php
  2.         include_once('connect.php');        //將 connect.php 包含進此頁(一次), 達到連線功能
  3.         /** 1.查詢單筆文章記錄 **/
  4.         $ad_id = $_GET['ad_id'];        //取得網址傳過來的 ad_id 值
  5.         //echo $ad_id;
  6.         $sql = "SELECT * FROM `articledata_tab`
  7.                         WHERE `ad_id` = '$ad_id';";
  8.         $result = mysqli_query($link, $sql);        //執行SQL語法
  9.         $data = mysqli_fetch_assoc($result);        //因確定只會查詢一筆資料, 所以就不使用While, 直接執行即可
  10.        
  11.         /** 2.更新人氣 **/
  12.         //$data['ad_view'] = $data['ad_view']+1;        //加1
  13.         //$data['ad_view'] +=1;        //加1
  14.        
  15.         $ad_view = $data['ad_view']+1;
  16.         //echo $data['ad_view'];
  17.         $sql = "UPDATE `articledata_tab` SET
  18.                         `ad_view` = '$ad_view'
  19.                         WHERE `ad_id` = '$ad_id';";
  20.         $result = mysqli_query($link, $sql);        //執行SQL語法
  21.        
  22.         /** 3.查詢該篇文章回覆的資料 **/
  23.         $sql = "SELECT * FROM `replydata_tab`
  24.                         WHERE `rd_ad_id` = '$ad_id'
  25.                         ORDER BY `rd_datetime` DESC;";        //排序(建立時間由大至小)DESC
  26.         $result_reply = mysqli_query($link, $sql);        //執行SQL語法
  27.        
  28.         //echo mysqli_num_rows($result_reply);
  29. ?>
  30. <html>
  31.         <head>
  32.                 <title>留言版-回覆</title>
  33.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  34.                 <script type="text/javascript">
  35.                         function check(){
  36.                                 var $rd_name = document.form_reply.rd_name.value;        //取得暱稱欄位的值
  37.                                 var $rd_content = document.form_reply.rd_content.value;        //取得回覆內容欄位的值
  38.                                 //alert($rd_name);
  39.                                 //alert($rd_content);
  40.                                 if($rd_name==''){        //判斷暱稱欄位是否有值
  41.                                         alert('請輸入暱稱');
  42.                                 }else if($rd_content==''){        //判斷回覆內容欄位是否有值
  43.                                         alert('請輸入回覆內容');
  44.                                 }else{
  45.                                         document.form_reply.submit();        //利用Javascript的語法將表單送出
  46.                                 }
  47.                         }
  48.                 </script>
  49.         </head>
  50.         <body>
  51.                 <a href="index1.php">回首頁</a>
  52.                 <table border="2" width="80%" align="center">
  53.                         <tr>
  54.                                 <th>標題</th>
  55.                                 <td><?php echo $data['ad_title'];?></td>
  56.                                 <th>人氣</th>
  57.                                 <td><?php echo $ad_view;?></td>
  58.                         </tr>
  59.                         <tr>
  60.                                 <th>IP</th>
  61.                                 <td><?php echo $data['ad_ip'];?></td>
  62.                                 <th>建立日期</th>
  63.                                 <td><?php echo $data['ad_datetime'];?></td>
  64.                         </tr>
  65.                         <tr>
  66.                                 <!-- valign=垂直對齊 -->
  67.                                 <td colspan="4" height="200px" valign="top"><?php echo nl2br($data['ad_content']); //將換行轉為<br />標籤?></td>
  68.                         </tr>
  69.                 </table><hr />
  70.                 <!-- 查詢回覆資料 -->
  71.                 <?php while($data = mysqli_fetch_assoc($result_reply)):?>
  72.                 <table border="2" width="80%" align="center">
  73.                         <tr>
  74.                                 <th>編號</th>
  75.                                 <td><?php echo $data['rd_id'];?></td>
  76.                                 <th>留言IP</th>
  77.                                 <td><?php echo $data['rd_ip'];?></td>
  78.                         </tr>
  79.                         <tr>
  80.                                 <th>留言名稱</th>
  81.                                 <td><?php echo $data['rd_name'];?></td>
  82.                                 <th>留言時間</th>
  83.                                 <td><?php echo $data['rd_datetime'];?></td>
  84.                         </tr>
  85.                         <tr>
  86.                                 <!-- valign=垂直對齊 -->
  87.                                 <td colspan="4" height="200px" valign="top"><?php echo nl2br($data['rd_content']); //將換行轉為<br />標籤?></td>
  88.                         </tr>
  89.                 </table>
  90.                 <?php endwhile;?>
  91.                 <hr />
  92.                 <!-- name="表單名稱;Javascript會使用到" action="處理的網址" method="get:網址傳值/post:封包傳值" -->
  93.                 <form name="form_reply" method="post" action="process.php">
  94.                 <table border="2" width="80%" align="center">
  95.                         <tr>
  96.                                 <th colspan="2">我要回覆</th>
  97.                         </tr>
  98.                         <tr>
  99.                                 <th>暱稱</th>
  100.                                 <td><input type="text" name="rd_name" /></td>
  101.                         </tr>
  102.                         <tr>
  103.                                 <!-- valign=垂直對齊 -->
  104.                                 <td colspan="2" height="200px" valign="top">
  105.                                         <textarea name="rd_content" rows="13" cols="106"></textarea>
  106.                                 </td>
  107.                         </tr>
  108.                         <tr>
  109.                                 <td colspan="2" align="center">
  110.                                         <input type="hidden" name="rd_ad_id" value="<?php echo $ad_id;?>">
  111.                                         <input type="button" name="send" value="留言" onclick="check();" /><!--onclick(Javascript 執行點擊事件的方法, 會執行 名稱為check 的自訂方法)-->
  112.                                         <input type="reset" name="reset" value="重填" />
  113.                                 </td>
  114.                         </tr>
  115.                 </table>
  116.                 </form>
  117.         </body>
  118. </html>
複製代碼

TOP

查詢IP位址

本帖最後由 guo.cane 於 2013-12-26 20:25 編輯
  1. <?php
  2.         header('Content-Type:text/html; charset=utf-8');
  3.         echo '您的IP位置:'.$_SERVER['REMOTE_ADDR'];
  4. ?>
複製代碼

TOP

資料處理頁面 process.php

本帖最後由 guo.cane 於 2013-12-26 20:25 編輯
  1. <?php
  2.         include_once('connect.php');        //將 connect.php 包含進此頁(一次), 達到連線功能
  3.         $ip = $_SERVER['REMOTE_ADDR'];        //取得對方IP, 一律大寫
  4.         $sql = "INSERT INTO `replydata_tab`(`rd_ad_id`, `rd_name`, `rd_content`, `rd_ip`, `rd_datetime`)
  5.                         VALUES('{$_POST['rd_ad_id']}', '{$_POST['rd_name']}', '{$_POST['rd_content']}', '{$ip}', NOW());";
  6.         $result = mysqli_query($link, $sql);        //執行SQL查詢語法
  7.         if($result){
  8.                 echo '<script type="text/javascript">';
  9.                 echo 'alert("新增成功");';
  10.                 echo 'window.location.href="reply.php?ad_id='.$_POST['rd_ad_id'].'";';        //導回原本的頁面
  11.                 echo '</script>';
  12.         }else{
  13.                 echo '<script type="text/javascript">';
  14.                 echo 'alert("新增失敗");';
  15.                 echo 'window.history.back();';        //返回上一頁
  16.                 echo '</script>';
  17.         }
  18. ?>
複製代碼

TOP

返回列表