今天來介紹
先來製作更新留言的畫面。
新增php檔(edit_form.php)在screen文件夾裡
edit_form.php程式碼
<html>
<head>
<meta charset="UTF-8">
<title>Guestbook</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
</head>
<body style="background-color:F0F0F0;">
<div class="mt-5">
<h1 class="mt-4 text-center">編輯留言</h1>
<div class="p-3">
<form method="POST" action="../php/update_comment.php">
<?php echo "<p class=\"input-group-text text-light bg-dark\">" . "暱稱:" . "</p>" ?>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text text-light bg-dark">評論: </span>
</div>
<textarea class="form-control" name="comment" required="required" cols="40" rows="5" placeholder="輸入評論"></textarea>
</div>
<input type="hidden" name="id" value="<?php echo $id ?>"><!-- //?? -->
<input type="submit" name="submit" class="btn btn-dark" value="修改資料">
</form>
</div>
</div>
</body>
</html>
程式碼中的
<input type="submit" value="修改" class="btn btn-dark mx-3" style="float:right">
input這裡是當作按鈕來使用。
原理是透過a和php的echo來製造網址,在edit_form.php中用Post傳遞隱藏的input的id,透過id來找文章,並用SQL來修改文章。
然後是更新留言的程式碼
edit_comment.php程式碼
新增php檔(edit_comment.php)在php文件夾裡
<?php
include("datatable.php");
$id = $_GET['id'];
$statement = editComment($id);
include("../screen/edit_form.php");
新增php檔(update_comment.php)在php文件夾裡
update_comment.php程式碼
<?php
include("datatable.php");
$id = $_POST["id"];
$comment = $_POST['comment'];
$statement = updateComment($id, $comment);
header('Location:/30days/message_board/screen/Home.php');
增加editComment和updateComment函式在datatable.php裡
datatable.php程式碼
function editComment($id)
{
$db = dbConnect();
$statement = $db->prepare("SELECT *FROM messageboard WHERE id=?");
$statement->execute([$id]);
return $statement->fetchAll(PDO::FETCH_ASSOC);
}
function updateComment($id, $comment)
{
$db = dbConnect();
$statement = $db->prepare("UPDATE messageboard SET COMMENT=? WHERE id=?");
$statement->execute([$comment, $id]);
return $statement;
}
利用UPDATE messageboard SET COMMENT=? WHERE id=?去更新指定的留言。
回顧下
我們做了
功能上我們都完成了。
接下來要做什麼?
我們除了要Session應用在登入狀態以外,我要簡單介紹下優化網頁的各種知識,以及加強留言板的功能,如果想深入了解或強化某方面的知識,能在後面幾天了解後去查詢其他人的教學。