上个问题不小心按了采纳。。

上个问题不小心按了采纳。。

/*我想在修改界面做一个提交编号的按钮,根据提交的编号选取留言在显示修改框,最后确认修改,我需要把第一次提交获取的ID和原留言数组传递给确认修改事件,但是每次点击确认修改,ID和原留言数组都回到初始值了*/

<?php
//获取所有留言
$filename="msg.txt";
$msg=unserialize(file_get_contents($filename));
//提取修改留言
$M_msg=[];
$id=0;
if (isset($_POST["modify"])) {
$id = intval($_POST["ID"]);
$M_msg = $msg[$id - 1];
var_dump($M_msg);
}
//修改留言
if(isset($_POST["sure"])){
   var_dump($_POST);
var_dump($id);
var_dump($M_msg);
$M_msg["id"]=$id;
$M_msg["username"]=$_POST["newUser"];
$M_msg["title"]=$_POST["newTitle"];
$M_msg["content"]=$_POST["newContent"];
$M_msg["time"]=time();
@$msg[$id-1]=$M_msg;
var_dump($msg);
$msg=serialize($msg);
file_put_contents($filename,$msg);
echo "<script>alert('修改成功');location.href='index.php'</script>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>修改界面</title>
   <link href="css/style.css">
</head>
<body>
<?php if(is_array($msg) && count($msg)>0): ?>
<table class="table">
           <thead>
           <tr>
               <th>
编号
               </th>
               <th>
用户
               </th>
               <th>
标题
               </th>
               <th>
内容
               </th>
               <th>
时间
               </th>
           </tr>
           </thead>
<?php foreach ($msg as $val): ?>
<tbody>
               <tr class="table-success">
                   <td>
<?php echo $val["id"]; ?>
</td>
                   <td>
<?php echo $val["username"]; ?>
</td>
                   <td>
<?php echo $val["title"]; ?>
</td>
                   <td>
<?php echo $val["content"]; ?>
</td>
                   <td>
<?php echo date('Y.m.d H:i:s',$val["time"]); ?>
</td>
               </tr>
               </tbody>
<?php endforeach; ?>
</table>
       <form action="#" method="post">
           <input type="text" placeholder="请输入要修改留言的编号:" name="ID">
           <input type="submit" value="确认" name="modify">
<?php
               if(count($M_msg) && is_array($M_msg)):
?>
</form>
       <form action="#" method="post">
           <table>
               <tr>
                   <td>原用户:<?php echo $M_msg["username"]; ?></td>
                   <td>修改为:<input type="text" name="newUser" required></td>
               </tr>
               <tr>
                   <td>原标题:<?php echo $M_msg["title"]; ?></td>
                   <td>修改为:<input type="text" name="newTitle" required></td>
               </tr>
               <tr>
                   <td>原内容:<?php echo $M_msg["content"]; ?></td>
                   <td>修改为:<input type="text" name="newContent" required></td>
               </tr>
               <tr>
                   <td colspan="2"><input type="submit" value="确认" name="sure"></td>
               </tr>
           </table>
<?php endif; ?>
</form>
<?php endif; ?>
</body>
</html>

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,修改留言的思路为:在首页点击编辑按钮,将唯一标识ID值传递;在编辑页面接收此ID,从文件中取出留言,根据ID找到对应的留言展示在编辑页面。然后判断页面是否点击了提交按钮,当点击提交按钮后,接收用户输入的值,然后根据之前接收到的ID值更改数组中的内容,然后将数组重新写入文件即可。如果解决了您的问题,请采纳。祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师