上个问题不小心按了采纳。。
/*我想在修改界面做一个提交编号的按钮,根据提交的编号选取留言在显示修改框,最后确认修改,我需要把第一次提交获取的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>
正在回答
您好,修改留言的思路为:在首页点击编辑按钮,将唯一标识ID值传递;在编辑页面接收此ID,从文件中取出留言,根据ID找到对应的留言展示在编辑页面。然后判断页面是否点击了提交按钮,当点击提交按钮后,接收用户输入的值,然后根据之前接收到的ID值更改数组中的内容,然后将数组重新写入文件即可。如果解决了您的问题,请采纳。祝学习愉快!
- 参与学习 人
- 提交作业 626 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星