添加完一次“愿望”后,每刷新一次,就自动添加一条新愿望。。。

添加完一次“愿望”后,每刷新一次,就自动添加一条新愿望。。。

添加完一次“愿望”后,每刷新一次,就自动添加一条新愿望,这个应该怎么处理,

unset($_POST['add'])注销了这个变量,为什么也不好用呢?

    <h1>许愿墙</h1>
    <?php
    $connect = mysqli_connect('localhost', 'root', '', 'wish');
    mysqli_query($connect, 'set names utf8');

    if (isset($_POST['add'])) {
        $color = $_POST['color'];
        $content = $_POST['content'];
        $name = $_POST['name'];
        $sql = "INSERT wish_paper VALUES (DEFAULT, \"$color\",\"$content\",\"$name\",DEFAULT)";
        if (mysqli_query($connect, $sql)) {
            unset($_POST['add']);
        }
    }


正在回答

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

1回答

您好,当添加愿望成功之后,让其重新跳转到首页或者是当前页面就可以解决哦~如果没有进行跳转,表单中是一直存储着许愿操作时的数据的,因此当你每刷新一次就会重新写入一次。

解决方案:判断许愿数据是否写入成功,写入成功之后提示用户添加愿望成功并且跳转至首页。可参考:

echo "<script>alert('许愿成功');window.location.href="index.php"</script>";

如果解决了您的问题,请采纳。祝学习愉快!

  • T时间的朋友 提问者 #1
    请问老师: if (mysqli_query($connect, $sql)) { echo "<script>alert('许愿成功');window.location.href="index.php"</script>"; }else{ echo "<script>alert('许愿失败');window.location.href="index.php"</script>"; } mysqli_close($content); 这样能不能执行到mysqli_close($content);这句呢?
    2018-08-01 18:06:22
  • 好帮手慕查理 回复 提问者 T时间的朋友 #2
    您好,不会执行了,您可以在mysqli_close($content);之前随意输出一句话,可以发现已经跳转到其它页面了,没有在执行输出的那句话。另关于有代码的问题建议您在回答中贴代码,可以看到代码的格式,在回复中贴代码,会成为一行话,容易造成测试时无法准确的测试您的问题。祝学习愉快!
    2018-08-01 18:23:19
  • 另location.href="index.php"中是单引号location.href='index.php'。使用双引号程序会认为语法有错误哦~
    2018-08-01 18:30:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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