Board logo

標題: [專題]留言版(後台) [打印本頁]

作者: guo.cane    時間: 2013-12-24 19:24     標題: [專題]留言版(後台)

本帖最後由 guo.cane 於 2013-12-26 20:22 編輯

首頁 index.php
  1. <?php
  2.         session_start();        //啟動SESSION功能
  3.         include_once('../connect.php');        //將上層目錄 connect.php 包含進此頁(一次), 達到連線功能
  4. ?>
  5. <html>
  6.         <head>
  7.                 <title>後台管理-會員登入</title>
  8.                 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
  9.                 <script type="text/javascript">
  10.                         //自定方法 格式: function 方法名稱()
  11.                         function check(){
  12.                                 //執行的程式碼 var=區域變數
  13.                                 var $ud_account = document.form_login.ud_account.value;        //文件(document)->表單(form)->帳號欄位(ud_account)的值(value)
  14.                                 var $ud_password = document.form_login.ud_password.value;        //文件(document)->表單(form)->密碼欄位(ud_password)的值(value)
  15.                                 if($ud_account==''){        //若帳號為空值
  16.                                         alert('請輸入帳號');
  17.                                 }else if($ud_password==''){        //若密碼為空值
  18.                                         alert('請輸入密碼');
  19.                                 }else{
  20.                                         document.form_login.submit();        //將表單送出
  21.                                 }
  22.                         }
  23.                 </script>
  24.         </head>
  25.         <body>
  26.                 <?php if($_SESSION['account']==''){        //若SESSION是空值的話, 就顯示登入頁面?>
  27.                 <form method="post" action="process.php" name="form_login">
  28.                         <table border="1" width="300px" align="center" style="margin-top:150px;">
  29.                                 <tr>
  30.                                         <td>帳號</td>
  31.                                         <td><input type="text" name="ud_account" /></td>
  32.                                 </tr>
  33.                                 <tr>
  34.                                         <td>密碼</td>
  35.                                         <td><input type="password" name="ud_password" /></td>
  36.                                 </tr>
  37.                                 <tr>
  38.                                         <td colspan="2" align="center">
  39.                                                 <input type="button" name="send" value="登入" onclick="check();" /><!-- 點擊後會執行 javascript的check方法 -->
  40.                                                 <input type="reset" value="重設" />
  41.                                                 <input type="hidden" name="page" value="login" />
  42.                                         </td>
  43.                                 </tr>
  44.                         </table>
  45.                 </form>
  46.                 <?php
  47.                         }else{        //若SESSION不是空值的話, 就顯示歡迎字樣
  48.                                 include_once('article_list.php');
  49.                         }
  50.                 ?>
  51.         </body>
  52. </html>
複製代碼

作者: guo.cane    時間: 2013-12-24 19:24     標題: 資料處理頁 process.php

本帖最後由 guo.cane 於 2013-12-26 21:28 編輯
  1. <?php
  2.         session_start();        //啟動SESSION功能
  3.         include_once('../connect.php');        //將上層目錄 connect.php 包含進此頁(一次), 達到連線功能
  4.         switch($_POST['page']){
  5.                 /** 處理登入部份 **/
  6.                 case 'login':
  7.                         $ud_account = $_POST['ud_account'];        //取得帳號
  8.                         $ud_password = $_POST['ud_password'];        //取得密碼
  9.                        
  10.                         //echo $ud_account.'<br />';
  11.                         //echo $ud_password;
  12.                        
  13.                         //Step1. 查詢資料表裡是否有使用者輸入帳號
  14.                         $sql = "SELECT * FROM `userdata_tab`
  15.                                         WHERE `ud_account` = '{$ud_account}'";
  16.                         $result = mysqli_query($link, $sql);
  17.                         $rows =  mysqli_num_rows($result);        //取得資料筆數
  18.                        
  19.                         if($rows==1){
  20.                                 //代表資料庫有該帳號,接下來判斷密碼是否正確
  21.                                 $data = mysqli_fetch_assoc($result);        //取得 $result 裡的資料並轉為陣列
  22.                                 if($ud_password==$data['ud_password']){
  23.                                         //若使用者登入的密碼與資料庫的密碼符合, 代表登入成功
  24.                                         unset($data['ud_password']);        //刪除密碼, 因為不希望在SESSION裡看到密碼
  25.                                         $_SESSION['account'] = $data;//        將使用者資料(Array)指派到 $_SESSION['account']
  26.                                         echo '<script type="text/javascript">';
  27.                                         echo 'alert("登入成功");';        //跳出警告視窗
  28.                                         echo 'window.location.href = "index.php";';        //導頁至 index.php
  29.                                         echo '</script>';
  30.                                 }else{
  31.                                         //Javascript
  32.                                         echo '<script type="text/javascript">';
  33.                                         echo 'alert("帳號或密碼錯誤");';        //跳出警告視窗
  34.                                         echo 'window.history.back();';        //導回上一頁
  35.                                         echo '</script>';
  36.                                 }
  37.                         }else{
  38.                                 //Javascript
  39.                                 echo '<script type="text/javascript">';
  40.                                 echo 'alert("帳號或密碼錯誤");';        //跳出警告視窗
  41.                                 echo 'window.history.back();';        //導回上一頁
  42.                                 echo '</script>';
  43.                         }
  44.                         break;
  45.                 /** 處理新增文章 **/
  46.                 case 'article_new':
  47.                         $sql = "INSERT INTO `articledata_tab`(`ad_ud_id`, `ad_title`, `ad_content`, `ad_view`, `ad_ip`, `ad_datetime`)
  48.                                         VALUES('{$_SESSION['account']['ud_id']}', '{$_POST['ad_title']}', '{$_POST['ad_content']}', '0', '{$_SERVER['REMOTE_ADDR']}', NOW());";
  49.                         $result = mysqli_query($link, $sql);
  50.                         if($result){
  51.                                 //新增成功
  52.                                 echo '<script type="text/javascript">';
  53.                                 echo 'alert("新增成功");';        //跳出警告視窗
  54.                                 echo 'window.location.href = "index.php";';        //導頁至 index.php
  55.                                 echo '</script>';
  56.                         }else{
  57.                                 //新增失敗
  58.                                 //Javascript
  59.                                 echo '<script type="text/javascript">';
  60.                                 echo 'alert("新增失敗");';        //跳出警告視窗
  61.                                 echo 'window.history.back();';        //導回上一頁
  62.                                 echo '</script>';
  63.                         }
  64.                         break;
  65.                 /** 處理更新文章 **/
  66.                 case 'article_update':
  67.                         $sql = "UPDATE `articledata_tab` SET
  68.                                         `ad_title` = '{$_POST['ad_title']}',
  69.                                         `ad_content` = '{$_POST['ad_content']}'
  70.                                         WHERE `ad_id` = '{$_POST['ad_id']}'
  71.                                         ";
  72.                         $result = mysqli_query($link, $sql);
  73.                         if($result){
  74.                                 //修改成功
  75.                                 echo '<script type="text/javascript">';
  76.                                 echo 'alert("修改成功");';        //跳出警告視窗
  77.                                 echo 'window.location.href = "index.php";';        //導頁至 index.php
  78.                                 echo '</script>';
  79.                         }else{
  80.                                 //修改失敗
  81.                                 //Javascript
  82.                                 echo '<script type="text/javascript">';
  83.                                 echo 'alert("修改失敗");';        //跳出警告視窗
  84.                                 echo 'window.history.back();';        //導回上一頁
  85.                                 echo '</script>';
  86.                         }
  87.                         break;
  88.         }

  89. ?>
複製代碼

作者: guo.cane    時間: 2013-12-24 20:59     標題: 文章列表 article_list.php

本帖最後由 guo.cane 於 2013-12-26 20:56 編輯
  1. <?php
  2.         session_start();        //啟動SESSION功能
  3.         include_once('../connect.php');        //將 connect.php 包含進此頁(一次), 達到連線功能
  4. ?>
  5. <html>
  6.         <head>
  7.                 <title>後台管理-留言版列表</title>
  8.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9.         </head>
  10.         <body>
  11.         <?php
  12.                 //查詢該版主所發表過的文章
  13.                 $sql = "SELECT * FROM `articledata_tab`
  14.                                 WHERE `ad_ud_id` = '{$_SESSION['account']['ud_id']}';";
  15.                 $result = mysqli_query($link, $sql);        //執行SQL語法
  16.         ?>
  17.                 <?php echo $_SESSION['account']['ud_name'];?>, 您好!! <a href="logout.php">登出</a><br />
  18.                 <a href="article_new.php">新增文章</a>
  19.                 <table border="2" width="80%" align="center">
  20.                         <tr>
  21.                                 <th>編號</th>
  22.                                 <th>標題</th>
  23.                                 <th>人氣</th>
  24.                                 <th>IP</th>
  25.                                 <th>建立日期</th>
  26.                                 <th>功能</th>
  27.                         </tr>
  28.         <?php
  29.                 //從 $result 取資料並指派到 $data(陣列), 資料有幾筆While迴圈就會跑幾次
  30.                 while($data = mysqli_fetch_assoc($result)){
  31.                         echo '<tr>';
  32.                         echo '<td>'.$data['ad_id'].'</td>';
  33.                         echo '<td><a href="article_detail.php?ad_id='.$data['ad_id'].'">'.$data['ad_title'].'</a></td>';
  34.                         echo '<td>'.$data['ad_view'].'</td>';
  35.                         echo '<td>'.$data['ad_ip'].'</td>';
  36.                         echo '<td>'.$data['ad_datetime'].'</td>';
  37.                         echo '<td><a href="article_del.php?ad_id='.$data['ad_id'].'" onclick="return confirm(\'是否確定刪除?\');">刪除</a></td>';
  38.                         echo '</tr>';
  39.                 }
  40.         ?>
  41.                 </table>
  42.         </body>
  43. </html>
複製代碼

作者: guo.cane    時間: 2013-12-24 21:16     標題: 登出頁 logout.php

本帖最後由 guo.cane 於 2013-12-26 20:23 編輯
  1. <?php
  2.         header('Content-Type:text/html; charset=utf-8');        // 防止亂碼
  3.         session_start();        //啟用SESSION功能
  4.         unset($_SESSION['account']);        //刪除SESSION後
  5.         header('Location:index.php');        //導回index.php(首頁[登入頁])
  6. ?>
複製代碼

作者: guo.cane    時間: 2013-12-26 20:11     標題: 文章詳細頁 article_detail.php

本帖最後由 guo.cane 於 2013-12-26 21:28 編輯
  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.        
  12.         /** 3.查詢該篇文章回覆的資料 **/
  13.         $sql = "SELECT * FROM `replydata_tab`
  14.                         WHERE `rd_ad_id` = '$ad_id'
  15.                         ORDER BY `rd_datetime` DESC;";        //排序(建立時間由大至小)DESC
  16.         $result_reply = mysqli_query($link, $sql);        //執行SQL語法
  17.        
  18.         //echo mysqli_num_rows($result_reply);
  19. ?>
  20. <html>
  21.         <head>
  22.                 <title>後台管理-留言版詳細列表</title>
  23.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  24.         </head>
  25.         <body>
  26.                 <a href="index.php">回首頁</a>
  27.                 <form name="form_article_update" method="post" action="process.php">
  28.                 <table border="2" width="80%" align="center">
  29.                         <tr>
  30.                                 <th>標題</th>
  31.                                 <td><input type="text" name="ad_title" value="<?php echo $data['ad_title'];?>" style="width:100%;" /></td>
  32.                                 <th>人氣</th>
  33.                                 <td><?php echo $data['ad_view'];?></td>
  34.                         </tr>
  35.                         <tr>
  36.                                 <th>IP</th>
  37.                                 <td><?php echo $data['ad_ip'];?></td>
  38.                                 <th>建立日期</th>
  39.                                 <td><?php echo $data['ad_datetime'];?></td>
  40.                         </tr>
  41.                         <tr>
  42.                                 <!-- valign=垂直對齊 -->
  43.                                 <td colspan="4" height="200px" valign="top">
  44.                                         <textarea name="ad_content"  style="width:100%;height:200px;" ><?php echo $data['ad_content'];?></textarea>
  45.                                 </td>
  46.                         </tr>
  47.                         <tr>
  48.                                 <td colspan="4" align="center">
  49.                                         <input type="hidden" name="page" value="article_update" />
  50.                                         <input type="hidden" name="ad_id" value="<?php echo $data['ad_id'];?>" />
  51.                                         <input type="submit" name="send" value="修改文章" />
  52.                                         <input type="reset" value="還原" />
  53.                                 </td>
  54.                         </tr>
  55.                 </table>
  56.                 </form>
  57.                 <hr />
  58.                 <!-- 查詢回覆資料 -->
  59.                 <?php while($data = mysqli_fetch_assoc($result_reply)):?>
  60.                 <table border="2" width="80%" align="center">
  61.                         <tr>
  62.                                 <th>編號</th>
  63.                                 <td><?php echo $data['rd_id'];?></td>
  64.                                 <th>留言IP</th>
  65.                                 <td><?php echo $data['rd_ip'];?></td>
  66.                         </tr>
  67.                         <tr>
  68.                                 <th>留言名稱</th>
  69.                                 <td><?php echo $data['rd_name'];?></td>
  70.                                 <th>留言時間</th>
  71.                                 <td><?php echo $data['rd_datetime'];?></td>
  72.                         </tr>
  73.                         <tr>
  74.                                 <!-- valign=垂直對齊 -->
  75.                                 <td colspan="4" height="200px" valign="top"><?php echo nl2br($data['rd_content']); //將換行轉為<br />標籤?></td>
  76.                         </tr>
  77.                 </table>
  78.                 <?php endwhile;?>
  79.         </body>
  80. </html>
複製代碼

作者: guo.cane    時間: 2013-12-26 20:19     標題: 文章刪除 article_del.php

本帖最後由 guo.cane 於 2013-12-26 20:44 編輯
  1. <?php
  2.         include_once('../connect.php');        //將上層目錄 connect.php 包含進此頁(一次), 達到連線功能
  3.         $ad_id = $_GET['ad_id'];        //取得文章id
  4.         //echo $ad_id;
  5.        
  6.         /************
  7.          * Step1. 先刪除文章
  8.          * 先宣告一個變數為 ture , 記錄每次執行SQL語法狀態
  9.          * 若到最後 $result 還是 ture 時,代表每次SQL語法都執行成功
  10.          * 若到最後 $result 變成 false 時,代表某次SQL語法執行失敗
  11.          *******************************************************************/
  12.         $result = true;
  13.        
  14.         $sql = "DELETE FROM `articledata_tab` WHERE `ad_id` = '{$ad_id}';";
  15.         $result &= mysqli_query($link, $sql);
  16.        
  17.         //Step2. 再刪除該篇文章的所有回覆
  18.         $sql = "DELETE FROM `replydata_tab` WHERE `rd_ad_id` = '{$ad_id}'";
  19.         $result &= mysqli_query($link, $sql);
  20.        
  21.         if($result){
  22.                 //刪除成功
  23.                 echo '<script type="text/javascript">';
  24.                 echo 'alert("刪除成功");';        //跳出警告視窗
  25.                 echo 'window.location.href = "index.php";';        //導頁至 index.php
  26.                 echo '</script>';
  27.         }else{
  28.                 //刪除失敗
  29.                 echo '<script type="text/javascript">';
  30.                 echo 'alert("刪除失敗");';        //跳出警告視窗
  31.                 echo 'window.history.back();';        //導回上一頁
  32.                 echo '</script>';
  33.         }
  34. ?>
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2