drby30217
2018-07-14 07:08
浏览 24
已采纳

如何在发送表单和重新加载页面后显示警报?

As title says, how can i display alert after sending form, and reloading page?

My code looks like:

<?php
    if (isset($_POST['add_user'])){
        $username = $_POST['username'];
        $password = $_POST['password'];
        if (!empty($username) && !empty($password)) {
            //SQL - Adding user to database
            //And i should reload page, to prevent resending form later
            //But i also want an alert after page reload
        } 
    }
?>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanaoyuan7202 2018-07-14 07:09
    已采纳

    You can do it like this:

    //functions.php
    <?php
        $current_page = basename($_SERVER['PHP_SELF']);
    
        function AntiFormResend($alert, $location) {
            $_SESSION["status"] = $alert;
            header("Location: $location");
            exit(0);
        }
    ?>

    //index.php
    <?php
        require 'functions.php';
        if (isset($_POST['add_user'])){
            $username = $_POST['username'];
            $password = $_POST['password'];
            if (!empty($username) && !empty($password)) {
                //SQL - Adding user to database
                $alert = '<div class="alert">Success: User added</div>';
                AntiFormResend($alert, $current_page);
            } else {
                $alert = '<div class="alert">Error: User not added</div>';
                AntiFormResend($alert, $current_page);
            }
        }
    ?>
    <html>
        <head></head>
        <body>
            <?php
              if (isset($_SESSION["status"])) {
                echo $_SESSION['status'];
                unset($_SESSION["status"]);
              }
            ?>
        </body>
    </html>

    </div>
    
    点赞 打赏 评论
  • doumi7861 2018-07-14 07:10

    The easiest solution, redirect back to your original form, with a parameter added in the URL like so: header("Location: /myForm.php?success=true").

    Then it's as simple as (In myForm.php):

    <?php
    if (isset($_GET['success']) && $_GET['success'] === 'true') {
      echo "<script>alert('Success!');</script>";
    }
    
    点赞 打赏 评论

相关推荐 更多相似问题