浏览器上的刷新按钮

sum*_*mit 2 html php

我有一个简单的编码问题.我尝试使用文本框和共享按钮创建页面.

当用户单击共享按钮时,文本框中的文本将作为字符串插入名为"posts"的数据库表中.

我使用以下代码.

<?php
    if(isset($_POST['share']))
    {
            $status = $_POST['status'];
            $res = mysql_query("insert into `posts`(postid,username,post,pointscollected) values('','$username','$status','')");
            if($res)
                echo "<script type='text/javascript'>alert('Posted successfully')</script>";
            else
                echo "<script type='text/javascript'>alert('some error')</script>";
    }
    else
    {
        ?>
            <form action="<?php $_SERVER['PHP_SELF']?>" method="post">
            Status : <input type = "text" name ="status">
            <input type = "submit" name ="share">
            </form>
        <?php
    }
Run Code Online (Sandbox Code Playgroud)

此解决方案工作正常,但用户刷新页面时出现问题.浏览器将显示一个消息窗口,要求重新发送信息,这将再次将该帖子提交给表格.然后相同的条目在表中两次.

我希望用户在提交后保持在同一页面上.但页面刷新不应显示消息窗口或再次发送信息.

提前致谢!

Mr.*_*ien 10

共享后重定向用户,使用重定向

header('Location: whatever.php');
exit;
Run Code Online (Sandbox Code Playgroud)

用这个 :

<?php
if(isset($_POST['share'])) {
      $status = $_POST['status'];
      $res = mysql_query("insert into `posts`(postid,username,post,pointscollected) values('','$username','$status','')");
      if($res) {
      ?>
          <script type='text/javascript'>alert('Posted successfully')</script>
      <?php              
          header('Location: whatever.php');
          exit;
        } else {
         ?>
          <script type='text/javascript'>alert('some error')</script>
       <?php
          header('Location: whatever.php');
          exit;
         }
    }
 ?>
Run Code Online (Sandbox Code Playgroud)

并且顺便说一下,不要使用javascript警告用户

并且如果使用的话,请使用它们

PS:您还可以使用JavaScript重定向用户 window.location

标题参考