老师好,如果有新的提交以前的$_POST和_GET是不是就清空了,sure确认提交后$id变成了空。

老师好,如果有新的提交以前的$_POST和_GET是不是就清空了,sure确认提交后$id变成了空。

$filename="msg.txt";
$msg=unserialize(file_get_contents($filename));
$id=$_GET["id"];
$key=$id-1;
$M_msg=$msg[$key];
//修改留言
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[$key]=$M_msg;
//    var_dump($msg);
   $msg=serialize($msg);
   file_put_contents($filename,$msg);
   echo "<script>alert('修改成功');location.href='index.php'</script>";
}
?>

正在回答

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

1回答

您好,是的。如果有新的提交之前提交的$_POST和$_GET内容就会是新提交的内容。但是当执行$_POST['sure']判断内部的代码时,$id是存在的。祝学习愉快!

  • 倾城丶空子许 提问者 #1
    sure提交时,重新执行这个脚本,$id 因为有新的提交,$_GET["id"]不存在,判断内部的$id不就是空的了么,有什么解决办法没
    2019-01-11 11:00:59
  • 您好,同学的提交按钮是写在form表单中吗?而form中action属性的值是页面文件的名称吗?如果是会导致点击提交按钮时重新执行脚本。将action属性值写为空字符串即可。祝学习愉快!
    2019-01-11 11:22:46
  • 哇,这么简单的么,我搞了好久,最后还是把id存在session里才解决的o(╥﹏╥)o
    2019-01-11 11:42:44
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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