编辑文件时有点问题
这是index.php
<?php
header('content-type:text/html;charset=utf-8');
date_default_timezone_set('PRC');
$filename='msg1.txt';
$msgs=[];
//检测文件是否存在
if(file_exists($filename)){
//读取文件中的内容
$string=file_get_contents($filename);
if(strlen($string)>0){
$msgs=unserialize($string);
}
};
?>
<html>
<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" style="width:1080px;margin:0 auto;">
<div class="row-fluid">
<div class="span12">
<div class="page-header">
<h1>
IMOOC留言板-V1.0
</h1>
</div>
<div class="hero-unit">
<h1>
慕课网留言板,欢迎你!
</h1>
<p>
慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程、在线编程工具、学习计划、
问答社区为核心特点。在这里, 你可以找到最好的互联网技术牛人,也可以通过免费的在线
公开视频教材学习国内领先的互联网IT技术。
</p>
</div>
<?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 $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>
<a href="edit.php?id=<?php echo $key;?>">编辑</a> |
<a href="delete.php?id=<?php echo $key;?>" onclick="return confirmAct();">删除</a>
</td>
</tr>
<?php endforeach;?>
<?php
print_r($msgs);
?>
</tbody>
</table>
<?php endif;?>
<form action="add.php" method="post">
<input type="submit" class="btn btn-lg btn-primary" value="我要留言"></input>
</form>
<div class="page-footer">
慕课商城 @2017 powered by IMooc.inc
</div>
</div>
</div>
</div>
</body>
<script>
function confirmAct()
{
if(confirm('确定要执行此操作吗?')) {
return true;
}else{
return false;
}
}
</script>
</html>
这是edit.php
<?php
header('content-type:text/html;charset=utf-8');
date_default_timezone_set('PRC');
$filename='msg1.txt';
$msgs=[];
if(file_exists($filename)){
//读取文件中的内容
$string=file_get_contents($filename);
if(strlen($string)>0){
$msgs=unserialize($string);
}
};
//调试程序
/*function debug($var,$exit=0){
echo '<pre>';
print_r($var);
echo '</pre>';
if($exit){
exit();
}
}*/
//检测用户点击了编辑功能,并获取索引
$editkey=$_GET['id'];
//检测用户是否点击了编辑完成按钮
if(isset($_POST['pubMsg'])){
$msgs[$editkey]['username']=$_POST['username'];
$msgs[$editkey]['title']=strip_tags($_POST['title']);
$msgs[$editkey]['content']=strip_tags($_POST['content']);
$msgs[$editkey]['time']=time();
/*debug($editkey);
debug($msgs,1);*/
$msgs=serialize($msgs);
if(file_put_contents($filename,$msgs)){
echo '<script>alert("编辑成功!");location.href="index.php";</script>';
}else{
echo '<script>alert("编辑失败!");location.href="add.php";</script>';
};
};
//检测用户是否点击了查看留言按钮
if(isset($_POST['seeMsg'])){
echo '<script>location.href="index.php";</script>';
}
?>
<html>
<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" style="width:1080px;margin:0 auto;">
<div class="row-fluid">
<div class="span12">
<div class="page-header">
<h1>
IMOOC留言板-V1.0
</h1>
</div>
<div class="hero-unit">
<h1>
既然来了,就说点什么吧~~~~
</h1>
<p>
把你想说的都写在下面,标注好你的姓名,主题,点击提交给我们,让小伙伴们都知道你在想什么。
</p>
</div>
<form action="edit.php" method="post" >
<fieldset>
<legend>发布</legend>
<div style="width:800px;margin:0 auto">
<label>用户名</label><input type="text" name="username" value="<?php echo $msgs[$editkey]['username'];?>" required/>
<label>标题</label><input type="text" name="title" value="<?php echo $msgs[$editkey]['title'];?>" required style="width:500px;"/>
<label>内容</label><textarea name="content" rows="6" required style="width:500px;"><?php echo $msgs[$editkey]['content'];?></textarea>
<hr/>
<input type="submit" class="btn btn-primary btn-lg" name="pubMsg" value="编辑完成"></input>
<input type="submit" class="btn btn-lg" name="seeMsg" value="查看留言" formnovalidate></input>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</body>
</html>
刚开始先正常添加几条
然后随便点一条编辑,下面就会新增加了没有索引的数组,之后无论编辑那一条都是对这里的编号5进行修改,而且它的位置始终在那里
还有一个问题,为什么我查看msg.txt时没有内容,而且就算我删除了msg.txt,浏览器还是能读的到这5条信息
正在回答 回答被采纳积分+1
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星