从留言板开始做网站(十一)——后台留言修改(数据更新)

作为网站管理员,应该有更多的权限,对留言的删除以及修改。首先创建一个修改的显示页面edit.php和一个修改的处理页面update.php,然后在后台首页admin.php中增加一个修改的功能

</pre><pre name="code" class="php">
echo "<tr><td>" . $row["id"] . "</td><td>" . $row["user_mes"] . "</td><td>" .
$row["user_name"] . "</td><td>" . $row["send_time"] . "</td><td><a id='update' href='edit.php?id=" . $row["id"] . "'>修改</a> <a id='del' href='delete.php
?id=" . $row["id"] ."'>删除</a></td>";

仍旧使用GET方法来传递id值

edit.php

<?php
//数据库连接
require "conn.php";

//读取目标字段
if(isset($_GET["id"])){//判断id是否被获取
  $id = $_GET["id"];
  $sql = "select user_name, user_mes from message where id=".$id;
  $result = $conn->query($sql);
  if ($result === false) {
      echo "对不起,留言记录不存在";
  }else {
      $row = $result->fetch_assoc();
  }
} else {
  echo "无法获取数据!";
}
 ?>
 <!DOCTYPE html>
 <html lang="zh-cn">
 <head>
  <meta charset="UTF-8">
  <title>留言修改</title>
  <link rel="stylesheet" href="style/style.css">
  <!--[if lt IE 9]>
  <script src="http://cdn.bootcss.com/html5shiv/r29/html5.js"></script>
  <![endif]-->
 </head>
 <body>
  <h2 class="edit-title">留言修改</h2>
  <section class="mes-send mes-edit">
    <form method="post" action="update.php">
      <div class="form-group">
        <label for="user_name">姓名:</label>
        <input type="text" id="user_name" name="user_name" value="<?php echo $row['user_name']; ?>">
      </div>
      <div class="form-group">
        <label for="user_mes">留言:</label>
        <textarea id="user_mes" name="user_mes" rows="5"><?php echo $row["user_mes"]; ?></textarea>
      </div>
      <input type="hidden" name="user_id" value="<?php echo $id; ?>">
      <input type="submit" id="btn" value="提 交">
    </form>
    <?php $conn->close(); ?>
  </section>
 </body>
 </html>

isset()方法和empty()方法类似,可以看下这篇文章就明白两者的区别了,使用区别

哦,对了,我把$conn->query("set names utf8"); 放入到了数据库链接文件中conn.php,这样只需要导入该文件即可省略不用写了。

先根据获取的ID来读取需要修改的留言记录,并将得到的留言记录作为数组,然后在文本框中显示原值。我们可以根据需要修改留言内容以及用户昵称。并在表单中增加一个隐藏的input,这个是用来传递ID值用的

<input type="hidden" name="user_id" value="<?php echo $id; ?>">

update.php

<?php
header("Content-Type:text/html;charset=utf-8");
//数据库连接
require "conn.php";

//更新字段
if (isset($_POST["user_id"])){
  $user_name = $_POST["user_name"];
  $user_mes = $_POST["user_mes"];
  $user_id = $_POST["user_id"];
  $sql = "UPDATE message SET user_name = '$user_name', user_mes = '$user_mes' WHERE id=" . $user_id;
  if ($conn->query($sql)) {
    header("refresh:2;url=admin.php");
    echo "更新成功,正在返回留言列表";
  }else {
    echo "更新失败";
  }
  $conn->close();
}else{
  echo "无法获取数据!";
}
 ?>
起初,我的更新是失败的,后来发现,原来是UPDATE语句中字段赋值,少了单引号,造成了更新失败,如果是数字,单引号可以省略。更新的语句:

UPDATE 表名 SET 字段1=‘值1’,字段2=‘值2’,where 条件1='条件值'


edit.php页面的 CSS

/*修改页面*/
.edit-title {
    padding:1em;
    text-align: center;
}
.mes-edit {
    margin: 0 auto;
    width: 56.25em;
    border: none;
    text-align: center;
}




  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值