Sleep()不会延迟表单操作

时间:2018-08-07 22:03:54

标签: php

当我单击提交按钮时,我希望延迟3秒,然后重定向。 我的表单将重定向到另一个PHP网站。

我的代码:

<button
    class="button actionContinue scTrack:unifiedlogin-login-submit"
    type="submit"
    id="btnLogin"
    name="btnLogin"
    value="Login"
    pa-marked="1">
    Einloggen
</button>
</div></div>
<input type="hidden" name="" value="">
</form>

<?php
    if (isset($_POST['submit']))
    {
        sleep(3);
        // AND NOW action;
    }
?>

示例

<?php
    if (isset($_POST['submit']))
    {
        sleep(3);
        // AND NOW action;

        redirect('Location:next page.php');     
    }
?>

为什么不起作用?

1 个答案:

答案 0 :(得分:1)

因此注释中的基本调试表明,实际上您期望的$_POST['submit']值不存在。这就是为什么您的睡眠不正常的原因,因为IF中的情况不正确。

所以下一步是调试为什么没有该POST数据。这是因为您没有将其作为表单元素。您将拥有btnLogin,因为这是您在按钮中提供的名称。

name="btnLogin"

您可以测试当前拥有的名称:

isset($_POST['btnLogin']))

或将按钮中的名称更改为Submit

<button
    class="button actionContinue scTrack:unifiedlogin-login-submit"
    type="submit"
    id="btnLogin"
    name="Submit"
    value="Login"
    pa-marked="1">
    Einloggen
</button>

编辑:根据您在注释中的要求尝试此操作:

<?php
    if (isset($_POST['btnLogin']))
    {
        sleep(3);
        redirect('Location:next page.php');     
    }
?>