PHP单击提交两次时URL更改

时间:2014-01-28 02:26:11

标签: php

我正在尝试将值发布到2.php,当输入为null时,它将返回1.php,然后显示错误消息,将URL更改为{{1 }}

问题是,当我不小心点击提交按钮两次时,网址会更改为1.php/?error=1,任何想法?

/1.php/2.php

1.php

<?php if(isset($_GET['error']) && $_GET['error'] == 1) { echo "Error"; } ?> <form method="Post" action="2.php"> <input type="text" name="firstname"> <input type="text" name="secondname"> <input type="submit" name="submit"> </form> ?>

2.php

2 个答案:

答案 0 :(得分:0)

A)在HTML中使用BASE标记

<head>
    <base href="http://127.0.0.1/">

B)在每个链接前加斜杠

<form action="/2.php">

C)首次点击后禁用按钮

<script>
    document.forms[0].addEventListener( 'submit', function() {
        var submitButton = document.forms[0].querySelector( '[type="submit"]' );
        submitButton.setAttribute( 'disabled', 'disabled' );
    }, false );
<script>

......或其中的某些组合。

答案 1 :(得分:0)

修改重定向代码;

header("Location: ./1.php?error=1");