標題:
[專題]留言版(後台)
[打印本頁]
作者:
guo.cane
時間:
2013-12-24 19:24
標題:
[專題]留言版(後台)
本帖最後由 guo.cane 於 2013-12-26 20:22 編輯
首頁 index.php
<?php
session_start(); //啟動SESSION功能
include_once('../connect.php'); //將上層目錄 connect.php 包含進此頁(一次), 達到連線功能
?>
<html>
<head>
<title>後台管理-會員登入</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
<script type="text/javascript">
//自定方法 格式: function 方法名稱()
function check(){
//執行的程式碼 var=區域變數
var $ud_account = document.form_login.ud_account.value; //文件(document)->表單(form)->帳號欄位(ud_account)的值(value)
var $ud_password = document.form_login.ud_password.value; //文件(document)->表單(form)->密碼欄位(ud_password)的值(value)
if($ud_account==''){ //若帳號為空值
alert('請輸入帳號');
}else if($ud_password==''){ //若密碼為空值
alert('請輸入密碼');
}else{
document.form_login.submit(); //將表單送出
}
}
</script>
</head>
<body>
<?php if($_SESSION['account']==''){ //若SESSION是空值的話, 就顯示登入頁面?>
<form method="post" action="process.php" name="form_login">
<table border="1" width="300px" align="center" style="margin-top:150px;">
<tr>
<td>帳號</td>
<td><input type="text" name="ud_account" /></td>
</tr>
<tr>
<td>密碼</td>
<td><input type="password" name="ud_password" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" name="send" value="登入" onclick="check();" /><!-- 點擊後會執行 javascript的check方法 -->
<input type="reset" value="重設" />
<input type="hidden" name="page" value="login" />
</td>
</tr>
</table>
</form>
<?php
}else{ //若SESSION不是空值的話, 就顯示歡迎字樣
include_once('article_list.php');
}
?>
</body>
</html>
複製代碼
作者:
guo.cane
時間:
2013-12-24 19:24
標題:
資料處理頁 process.php
本帖最後由 guo.cane 於 2013-12-26 21:28 編輯
<?php
session_start(); //啟動SESSION功能
include_once('../connect.php'); //將上層目錄 connect.php 包含進此頁(一次), 達到連線功能
switch($_POST['page']){
/** 處理登入部份 **/
case 'login':
$ud_account = $_POST['ud_account']; //取得帳號
$ud_password = $_POST['ud_password']; //取得密碼
//echo $ud_account.'<br />';
//echo $ud_password;
//Step1. 查詢資料表裡是否有使用者輸入帳號
$sql = "SELECT * FROM `userdata_tab`
WHERE `ud_account` = '{$ud_account}'";
$result = mysqli_query($link, $sql);
$rows = mysqli_num_rows($result); //取得資料筆數
if($rows==1){
//代表資料庫有該帳號,接下來判斷密碼是否正確
$data = mysqli_fetch_assoc($result); //取得 $result 裡的資料並轉為陣列
if($ud_password==$data['ud_password']){
//若使用者登入的密碼與資料庫的密碼符合, 代表登入成功
unset($data['ud_password']); //刪除密碼, 因為不希望在SESSION裡看到密碼
$_SESSION['account'] = $data;// 將使用者資料(Array)指派到 $_SESSION['account']
echo '<script type="text/javascript">';
echo 'alert("登入成功");'; //跳出警告視窗
echo 'window.location.href = "index.php";'; //導頁至 index.php
echo '</script>';
}else{
//Javascript
echo '<script type="text/javascript">';
echo 'alert("帳號或密碼錯誤");'; //跳出警告視窗
echo 'window.history.back();'; //導回上一頁
echo '</script>';
}
}else{
//Javascript
echo '<script type="text/javascript">';
echo 'alert("帳號或密碼錯誤");'; //跳出警告視窗
echo 'window.history.back();'; //導回上一頁
echo '</script>';
}
break;
/** 處理新增文章 **/
case 'article_new':
$sql = "INSERT INTO `articledata_tab`(`ad_ud_id`, `ad_title`, `ad_content`, `ad_view`, `ad_ip`, `ad_datetime`)
VALUES('{$_SESSION['account']['ud_id']}', '{$_POST['ad_title']}', '{$_POST['ad_content']}', '0', '{$_SERVER['REMOTE_ADDR']}', NOW());";
$result = mysqli_query($link, $sql);
if($result){
//新增成功
echo '<script type="text/javascript">';
echo 'alert("新增成功");'; //跳出警告視窗
echo 'window.location.href = "index.php";'; //導頁至 index.php
echo '</script>';
}else{
//新增失敗
//Javascript
echo '<script type="text/javascript">';
echo 'alert("新增失敗");'; //跳出警告視窗
echo 'window.history.back();'; //導回上一頁
echo '</script>';
}
break;
/** 處理更新文章 **/
case 'article_update':
$sql = "UPDATE `articledata_tab` SET
`ad_title` = '{$_POST['ad_title']}',
`ad_content` = '{$_POST['ad_content']}'
WHERE `ad_id` = '{$_POST['ad_id']}'
";
$result = mysqli_query($link, $sql);
if($result){
//修改成功
echo '<script type="text/javascript">';
echo 'alert("修改成功");'; //跳出警告視窗
echo 'window.location.href = "index.php";'; //導頁至 index.php
echo '</script>';
}else{
//修改失敗
//Javascript
echo '<script type="text/javascript">';
echo 'alert("修改失敗");'; //跳出警告視窗
echo 'window.history.back();'; //導回上一頁
echo '</script>';
}
break;
}
?>
複製代碼
作者:
guo.cane
時間:
2013-12-24 20:59
標題:
文章列表 article_list.php
本帖最後由 guo.cane 於 2013-12-26 20:56 編輯
<?php
session_start(); //啟動SESSION功能
include_once('../connect.php'); //將 connect.php 包含進此頁(一次), 達到連線功能
?>
<html>
<head>
<title>後台管理-留言版列表</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
//查詢該版主所發表過的文章
$sql = "SELECT * FROM `articledata_tab`
WHERE `ad_ud_id` = '{$_SESSION['account']['ud_id']}';";
$result = mysqli_query($link, $sql); //執行SQL語法
?>
<?php echo $_SESSION['account']['ud_name'];?>, 您好!! <a href="logout.php">登出</a><br />
<a href="article_new.php">新增文章</a>
<table border="2" width="80%" align="center">
<tr>
<th>編號</th>
<th>標題</th>
<th>人氣</th>
<th>IP</th>
<th>建立日期</th>
<th>功能</th>
</tr>
<?php
//從 $result 取資料並指派到 $data(陣列), 資料有幾筆While迴圈就會跑幾次
while($data = mysqli_fetch_assoc($result)){
echo '<tr>';
echo '<td>'.$data['ad_id'].'</td>';
echo '<td><a href="article_detail.php?ad_id='.$data['ad_id'].'">'.$data['ad_title'].'</a></td>';
echo '<td>'.$data['ad_view'].'</td>';
echo '<td>'.$data['ad_ip'].'</td>';
echo '<td>'.$data['ad_datetime'].'</td>';
echo '<td><a href="article_del.php?ad_id='.$data['ad_id'].'" onclick="return confirm(\'是否確定刪除?\');">刪除</a></td>';
echo '</tr>';
}
?>
</table>
</body>
</html>
複製代碼
作者:
guo.cane
時間:
2013-12-24 21:16
標題:
登出頁 logout.php
本帖最後由 guo.cane 於 2013-12-26 20:23 編輯
<?php
header('Content-Type:text/html; charset=utf-8'); // 防止亂碼
session_start(); //啟用SESSION功能
unset($_SESSION['account']); //刪除SESSION後
header('Location:index.php'); //導回index.php(首頁[登入頁])
?>
複製代碼
作者:
guo.cane
時間:
2013-12-26 20:11
標題:
文章詳細頁 article_detail.php
本帖最後由 guo.cane 於 2013-12-26 21:28 編輯
<?php
include_once('../connect.php'); //將 connect.php 包含進此頁(一次), 達到連線功能
/** 1.查詢單筆文章記錄 **/
$ad_id = $_GET['ad_id']; //取得網址傳過來的 ad_id 值
//echo $ad_id;
$sql = "SELECT * FROM `articledata_tab`
WHERE `ad_id` = '$ad_id';";
$result = mysqli_query($link, $sql); //執行SQL語法
$data = mysqli_fetch_assoc($result); //因確定只會查詢一筆資料, 所以就不使用While, 直接執行即可
/** 3.查詢該篇文章回覆的資料 **/
$sql = "SELECT * FROM `replydata_tab`
WHERE `rd_ad_id` = '$ad_id'
ORDER BY `rd_datetime` DESC;"; //排序(建立時間由大至小)DESC
$result_reply = mysqli_query($link, $sql); //執行SQL語法
//echo mysqli_num_rows($result_reply);
?>
<html>
<head>
<title>後台管理-留言版詳細列表</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<a href="index.php">回首頁</a>
<form name="form_article_update" method="post" action="process.php">
<table border="2" width="80%" align="center">
<tr>
<th>標題</th>
<td><input type="text" name="ad_title" value="<?php echo $data['ad_title'];?>" style="width:100%;" /></td>
<th>人氣</th>
<td><?php echo $data['ad_view'];?></td>
</tr>
<tr>
<th>IP</th>
<td><?php echo $data['ad_ip'];?></td>
<th>建立日期</th>
<td><?php echo $data['ad_datetime'];?></td>
</tr>
<tr>
<!-- valign=垂直對齊 -->
<td colspan="4" height="200px" valign="top">
<textarea name="ad_content" style="width:100%;height:200px;" ><?php echo $data['ad_content'];?></textarea>
</td>
</tr>
<tr>
<td colspan="4" align="center">
<input type="hidden" name="page" value="article_update" />
<input type="hidden" name="ad_id" value="<?php echo $data['ad_id'];?>" />
<input type="submit" name="send" value="修改文章" />
<input type="reset" value="還原" />
</td>
</tr>
</table>
</form>
<hr />
<!-- 查詢回覆資料 -->
<?php while($data = mysqli_fetch_assoc($result_reply)):?>
<table border="2" width="80%" align="center">
<tr>
<th>編號</th>
<td><?php echo $data['rd_id'];?></td>
<th>留言IP</th>
<td><?php echo $data['rd_ip'];?></td>
</tr>
<tr>
<th>留言名稱</th>
<td><?php echo $data['rd_name'];?></td>
<th>留言時間</th>
<td><?php echo $data['rd_datetime'];?></td>
</tr>
<tr>
<!-- valign=垂直對齊 -->
<td colspan="4" height="200px" valign="top"><?php echo nl2br($data['rd_content']); //將換行轉為<br />標籤?></td>
</tr>
</table>
<?php endwhile;?>
</body>
</html>
複製代碼
作者:
guo.cane
時間:
2013-12-26 20:19
標題:
文章刪除 article_del.php
本帖最後由 guo.cane 於 2013-12-26 20:44 編輯
<?php
include_once('../connect.php'); //將上層目錄 connect.php 包含進此頁(一次), 達到連線功能
$ad_id = $_GET['ad_id']; //取得文章id
//echo $ad_id;
/************
* Step1. 先刪除文章
* 先宣告一個變數為 ture , 記錄每次執行SQL語法狀態
* 若到最後 $result 還是 ture 時,代表每次SQL語法都執行成功
* 若到最後 $result 變成 false 時,代表某次SQL語法執行失敗
*******************************************************************/
$result = true;
$sql = "DELETE FROM `articledata_tab` WHERE `ad_id` = '{$ad_id}';";
$result &= mysqli_query($link, $sql);
//Step2. 再刪除該篇文章的所有回覆
$sql = "DELETE FROM `replydata_tab` WHERE `rd_ad_id` = '{$ad_id}'";
$result &= mysqli_query($link, $sql);
if($result){
//刪除成功
echo '<script type="text/javascript">';
echo 'alert("刪除成功");'; //跳出警告視窗
echo 'window.location.href = "index.php";'; //導頁至 index.php
echo '</script>';
}else{
//刪除失敗
echo '<script type="text/javascript">';
echo 'alert("刪除失敗");'; //跳出警告視窗
echo 'window.history.back();'; //導回上一頁
echo '</script>';
}
?>
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2