我看到很多人试图阻止重新发送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的新手,所以我们将不胜感激,谢谢!
答案 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>