如何重新发送已在php中处理的发布请求?

时间:2019-11-25 01:28:17

标签: javascript php web post button

我看到很多人试图阻止重新发送POST请求的问题,但我想相反。我想要一个重试按钮,用于重新发送已经发送的POST数据。

在Chrome中,当我手动刷新页面时,如果我在警告上选择“确定”,则会重新发送POST请求。但是,当我尝试通过创建一个刷新页面的按钮来复制它时,它没有原始的POST数据。

编辑:忘了提及我为什么要这么做。

我要这样做的原因是因为这是一个随机选择生成器。您在索引页面上放置了一个选项列表,然后在提交表单时,process.php页面上的粗体选项为粗体。但是,我认为不需要以SQL或其他方式存储此信息,我只是希望有一个简单的“重试”按钮,以便他们在不喜欢结果的情况下可以再次尝试。

这是php:

params = { consumer_id: 1 } # replace with self.id
params.compare_by_identity
params["filter"] = "value1"
params["filter"] = "value2"
params.to_query #=> "consumer_id=1&filter=value1&filter=value2"

这是重试按钮:

<?php

    $name = $_POST["titleChoice"];

    if (sizeof($_POST["choice"]) != 0){
        $randomNumber = rand(1, sizeof($_POST["choice"])); 

        echo "<b>" . $name . "</b><br><br>";

        for ($i = 1; $i <= sizeof($_POST["choice"]); $i++) {
            if ($randomNumber == $i){
                echo  "<b>" . $i . ". " . $_POST["choice"][$i-1] . "</b><br>";
            } 
            else{       
                echo  $i . ". " . $_POST["choice"][$i-1] . "<br>";
            }
        }   
    }
    else{
        echo "No choices were inputted! Would you like to try again?";
    }

?>

我是PHP的新手,所以我们将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:-1)

没关系,我意识到我犯了一个愚蠢的错误。

我最初将按钮的形式如下:

<form action="process.php" method="post">
    <button name="submit" class="btn-lg" onclick="reloadPage();"> Retry </button>
</form>

但是它应该只是一个按钮:

<button name="submit" class="btn-lg" onclick="reloadPage();"> Retry </button>