为什么我编辑之后没有效果
index文件
<?php // 思路 创建保存文件 检测文件是否存在 读取文件内容 判断文件有没有内容 因为文件里是字符串所以要反序列化文件得到数组 遍历给表格里 //// 点了按钮就是把内容写到文件里 给留言跟按钮添加post 检测用户是否点击了提交按钮 post赋值给变量 变量组成关联数组 写到文件里 date_default_timezone_set('PRC'); $filename="msg.txt"; //保存文件 $msgs=[]; if (file_exists($filename)){ //检测文件是否存在 $string=file_get_contents($filename); //读取文件中的内容 if (strlen($string)>0){ //判断有没有内容 $msgs=unserialize($string); //反序列化 得到数组 赋值 } } //检测用户是否点击了提交按钮 if (isset($_POST['pug'])){ $username=$_POST['username']; $title=strip_tags($_POST['title']); //从字符串中去除 HTML 和 PHP 标记 防止攻击strip_tags $content=strip_tags($_POST['content']); $time=time(); //将其组成关联数组 $data= compact('username','title','content','time'); //array_push将一个或多个单元压入数组的末尾(入栈) array_push($msgs,$data); $msgs=serialize($msgs); //序列化数组 变成字符串 if (file_put_contents($filename,$msgs)){ echo "<script>alert('留言添加成功');location.href='index.php';</script>"; }else{ echo "<script>alert('留言添加失败');location.href='index.php';</script>"; } } /* 保存留言的方式 二维的数组 webpage.php $msgs=[ [..], 第一条留言 [..], 第二条留言 ]; file_get_contents($filename): 得到文件中的内容 ,返回的是字符串 file_put_contents($filename): 向指定文件写内容 只能是字符串 如果文件不存在会创建 serialize($str): 对字符串 序列化 序列化之后就能写入文件 unserialize($str): 反序列化 读取文件 是数组 */ ?> <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-2.0.0.min.js"></script> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-ui"></script> <link href="http://www.francescomalagrino.com/BootstrapPageGenerator/3/css/bootstrap-combined.min.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/bootstrap.min.js"></script> </head> <body> <div class="container-fluid" id="LG"> <div class="row-fluid"> <div class="span12"> <div class="page-header"> <h1> <small><span>IMOOC留言板-v1.0</span></small> </h1> </div> <div class="hero-unit"> <h1> 既然来了,就说点什么吧~~~~~ </h1> <p> </p> </div> <!-- 检查是不是数组并且 计算数组中的单元数目大于0 就显示这个表格 --> <?php if (is_array($msgs)&&count($msgs)>0) : ?> <table class="table"> <thead> <tr> <th> 编号 </th> <th> 用户名 </th> <th> 标题 </th> <th> 时间 </th> <th> 内容 </th> <th> 操作 </th> </tr> </thead> <tbody > <!-- 遍历数组 --> <?php $i=1; foreach ($msgs as $val):?> <tr class="success" > <td > <?php echo$a=$i++ ;?> </td> <td> <?php echo $val['username']; ?> </td> <td> <?php echo $val['title'];?> </td> <td> <?php echo date("Y/m/d H:i:s",$val['time']);?> </td> <td> <?php echo $val['content'] ?> </td> <td> <!-- get要用?号链接 --> <a href="deit.php?id=<?php echo $a ?>" >编辑</a> | <a>删除</a> </td> </tr> <?php endforeach;?> </tbody> </table> <?php endif;?> <form action="add.php" method="post"> <fieldset> <input type="submit" class="btn btn-primary btn-lg" value="我要留言" name="pubMsg"> </fieldset> </form> </div> </div> </div> </body> </html>
deit文件
<?php date_default_timezone_set('PRC'); $num= $_GET['id']-1; // 键名 $filename="msg.txt"; //文件 $msgs=[]; if (file_exists($filename)){ $string=file_get_contents($filename);//读取文件内容 字符串 $msgs=unserialize($string); //反序列化 得到数组 } $name= $msgs[$num]['username']; //username 用户名 $title=$msgs[$num]['title']; //title 标题 $content=$msgs[$num]['content'];// 内容 //检测用户是否点击了编辑完成按钮 if (isset($_POST['pug_set'])){ $name=$_POST['username']; $title=strip_tags($_POST['title']); $content=strip_tags($_POST['content']); $time=time(); $msgs=serialize($msgs); if (file_put_contents($filename,$msgs)){ echo "<script>alert('留言添加成功');location.href='index.php';</script>"; }else{ echo "<script>alert('留言添加失败');location.href='index.php';</script>"; } } ?> <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-2.0.0.min.js"></script> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-ui"></script> <link href="http://www.francescomalagrino.com/BootstrapPageGenerator/3/css/bootstrap-combined.min.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/bootstrap.min.js"></script> </head> <body onload="init_1()"> <div class="container-fluid" id="LG"> <div class="row-fluid"> <div class="span12"> <div class="page-header"> <h1> <small><span>IMOOC留言板-v1.0</span></small> </h1> </div> <div class="hero-unit"> <h1> 既然来了,就说点什么吧~~~~~ </h1> <p> </p> </div> <form action="index.php" method="post"> <fieldset> <legend>发布</legend> <label>用户名</label><input type="text" name="username"value="<?php echo $name ;?>" required /> <label>标题</label><input type="text" name="title"value="<?php echo $title ;?>" required /> <label>内容</label><textarea name="content" rows="5" cols="30" required ><?php echo $content; ?></textarea><hr> <input type="submit" class="btn btn-primary btn-lg" value="编辑完成" name="pug_set"> <input type="button" class="btn btn-default btn-lg" value="查看留言" name="look" id="look" onclick="init_1()"> <script > function init_1() { document.getElementById("look").onclick=function () { window.location.href="index.php" } }</script> </fieldset> </form>
9
收起
正在回答
2回答
同学你好,因同学在编辑页面跳转的index.php文件,所以未修改成功。并调整了一下同学的代码,修改后代码如下:
index.php:
edit.php
祝学习愉快!
昵称加载中__
2019-10-26 17:44:06
<?php // 思路 创建保存文件 检测文件是否存在 读取文件内容 判断文件有没有内容 因为文件里是字符串所以要反序列化文件得到数组 遍历给表格里 //// 点了按钮就是把内容写到文件里 给留言跟按钮添加post 检测用户是否点击了提交按钮 post赋值给变量 变量组成关联数组 写到文件里 date_default_timezone_set('PRC'); $filename="msg.txt"; //保存文件 $msgs=[]; if (file_exists($filename)){ //检测文件是否存在 $string=file_get_contents($filename); //读取文件中的内容 if (strlen($string)>0){ //判断有没有内容 $msgs=unserialize($string); //反序列化 得到数组 赋值 } } //检测用户是否点击了提交按钮 if (isset($_POST['pug'])){ $username=$_POST['username']; $title=strip_tags($_POST['title']); //从字符串中去除 HTML 和 PHP 标记 防止攻击strip_tags $content=strip_tags($_POST['content']); $time=time(); //将其组成关联数组 $data= compact('username','title','content','time'); //array_push将一个或多个单元压入数组的末尾(入栈) array_push($msgs,$data); $msgs=serialize($msgs); //序列化数组 变成字符串 if (file_put_contents($filename,$msgs)){ //读取文件 echo "<script>alert('留言添加成功');location.href='index.php';</script>"; }else{ echo "<script>alert('留言添加失败');location.href='index.php';</script>"; } } //检测用户是否点击删除按钮 if (isset($_GET['id'])) /* 保存留言的方式 二维的数组 webpage.php $msgs=[ [..], 第一条留言 [..], 第二条留言 ]; file_get_contents($filename): 得到文件中的内容 ,返回的是字符串 file_put_contents($filename): 向指定文件写内容 只能是字符串 如果文件不存在会创建 serialize($str): 对字符串 序列化 序列化之后就能写入文件 unserialize($str): 反序列化 读取文件 是数组 */ ?> <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-2.0.0.min.js"></script> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-ui"></script> <link href="http://www.francescomalagrino.com/BootstrapPageGenerator/3/css/bootstrap-combined.min.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/bootstrap.min.js"></script> </head> <body> <div class="container-fluid" id="LG"> <div class="row-fluid"> <div class="span12"> <div class="page-header"> <h1> <small><span>IMOOC留言板-v1.0</span></small> </h1> </div> <div class="hero-unit"> <h1> 既然来了,就说点什么吧~~~~~ </h1> <p> </p> </div> <!-- 检查是不是数组并且 计算数组中的单元数目大于0 就显示这个表格 --> <?php if (is_array($msgs)&&count($msgs)>0) : ?> <table class="table"> <thead> <tr> <th> 编号 </th> <th> 用户名 </th> <th> 标题 </th> <th> 时间 </th> <th> 内容 </th> <th> 操作 </th> </tr> </thead> <tbody > <!-- 遍历数组 --> <?php $i=1; foreach ($msgs as $key=>$val):?> <tr class="success" > <td > <?php echo$a=$i++ ;?> </td> <td> <?php echo $val['username']; ?> </td> <td> <?php echo $val['title'];?> </td> <td> <?php echo date("Y/m/d H:i:s",$val['time']);?> </td> <td> <?php echo $val['content'] ?> </td> <td> <!-- get要用?号链接 --> <a href="deit.php?id=<?php echo $key ?>" >编辑</a> | <a href="delete.php?id=<?php echo $key ?>">删除</a> </td> </tr> <?php endforeach;?> </tbody> </table> <?php endif;?> <form action="add.php" method="post"> <fieldset> <input type="submit" class="btn btn-primary btn-lg" value="我要留言" name="pubMsg"> </fieldset> </form> </div> </div> </div> </body> </html>
<?php date_default_timezone_set('PRC'); $num= $_GET['id']; // 键名 var_dump($num); $filename="msg.txt"; //文件 $msgs=[]; $string=file_get_contents($filename);//读取文件内容 字符串 $msgs=unserialize($string); //反序列化 得到数组 $username= $msgs[$num]['username']; //username 用户名 $title=$msgs[$num]['title']; //title 标题 $content=$msgs[$num]['content'];// 内容 //检测用户是否点击了编辑完成按钮 if (isset($_POST['pug_set'])){ $username=$_POST['username']; $title=strip_tags($_POST['title']); $content=strip_tags($_POST['content']); $time=time(); //组成关联数组 $data=compact('username','title','content','time'); //接收隐藏域 $key=$_POST['id']; $msgs[$key]=$data; $msgs=serialize($msgs); //序列化 字符串 if (file_put_contents($filename,$msgs)){ echo "<script>alert('留言添加成功');location.href='index.php';</script>"; }else{ echo "<script>alert('留言添加失败');location.href='index.php';</script>"; } } ?> <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-2.0.0.min.js"></script> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-ui"></script> <link href="http://www.francescomalagrino.com/BootstrapPageGenerator/3/css/bootstrap-combined.min.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/bootstrap.min.js"></script> </head> <body onload="init_1()"> <div class="container-fluid" id="LG"> <div class="row-fluid"> <div class="span12"> <div class="page-header"> <h1> <small><span>IMOOC留言板-v1.0</span></small> </h1> </div> <div class="hero-unit"> <h1> 既然来了,就说点什么吧~~~~~ </h1> <p> </p> </div> <form action="edit.php" method="post"> <fieldset> <legend>发布</legend> <label>用户名</label><input type="text" name="username"value="<?php echo $username ;?>" required /> <label>标题</label><input type="text" name="title"value="<?php echo $title ;?>" required /> <label>内容</label><textarea name="content" rows="5" cols="30" required ><?php echo $content; ?></textarea><hr> <input type="hidden" name="id" value="<?php echo $num ?>"> <input type="submit" class="btn btn-primary btn-lg" value="编辑完成" name="pug_set"> <input type="button" class="btn btn-default btn-lg" value="查看留言" name="look" id="look" onclick="init_1()"> <script > function init_1() { document.getElementById("look").onclick=function () { window.location.href="index.php" } }</script> </fieldset> </form>
点了这个
就变成了这样
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星