老师,删除的功能,实现不了
<?php
header('content-type:text/html;charset=utf-8');
date_default_timezone_set('PRC');
$filename='msg.txt';
$msgs=[];
if(file_exists($filename)){
$txtStr=file_get_contents($filename);//获取文本内容
if(strlen($txtStr)>0){//文本内容>0
$msgs=unserialize($txtStr);//反序列化赋值
}
}
if(isset($_GET['id'])&&!empty($_GET['id'])){
$id=$_GET['id'];
}
//找出id所在位置,然后将对应的删除
$temp;
for($i=0;$i<count($msgs);$i++){
if($msgs[$i]['id']==$id){
unset($msgs[$i]['id']);
unset($msgs[$i]['username']);
unset($msgs[$i]['time']);
unset($msgs[$i]['title']);
unset($msgs[$i]['content']);
break;
}
}
//传值回txt
$msgs=array_values($msgs);
$msgs=serialize($msgs);
if(file_put_contents($filename, $msgs)){
echo "<script>alert('成功!');</script>";
}else{
echo "<script>alert('失败!');</script>";
}
?>
正在回答
同学,您好!小慕不是很清楚您那边的数据结构,所以不确定是不是由于您那边$msgs中的数据结构导致报的这个错。取完ID开始,小慕建议您可以:
if(isset($_GET['id'])&&!empty($_GET['id'])){
$id=$_GET['id'];
}
//删除的数据不存在
if(!isset($msgs[$id])){
echo "<script>alert('数据出错,请重试!');location.href='index.php';</script>";
}
unset($msgs[$id]);
$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>";
}
如果解决了您的问题,请采纳!祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星