Php Sleep()不';不要拖延形式诉讼
当我点击提交按钮时,我希望延迟3秒,然后重定向。 我的表单将重定向到其他PHP站点 我的代码:Php Sleep()不';不要拖延形式诉讼,php,Php,当我点击提交按钮时,我希望延迟3秒,然后重定向。 我的表单将重定向到其他PHP站点 我的代码: <button class="button actionContinue scTrack:unifiedlogin-login-submit" type="submit" id="btnLogin" name="btnLogin" value="Login" pa-marked="1"> Einloggen </button&g
<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');
}
?>
为什么它不工作?因此注释中的基本调试显示,您期望的
$\u POST['submit']
值实际上不存在。这就是为什么当中的条件不正确时,您的睡眠不起作用
所以下一步是调试为什么没有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');
}
?>
如果您在睡眠后执行操作,它是否会在执行操作前等待3秒钟?就像一个简单的回声。为了测试的目的,试着增加它,比如10秒,因为页面加载时间可能会很慢。另外,在代码中添加睡眠时要小心。在某些情况下,它可能很有用,但我们倾向于争取快速的页面加载时间而不延迟。是的,没错,我想把sleep改为10
,然后放echo“随便什么”代码>。发生了什么?什么都没有,PHP是服务器端脚本,当它进入浏览器时,所有的东西都在运行。您的脚本告诉服务器等待3秒钟,然后继续,然后在完成所有操作后,它将被推送到浏览器,在那里它只会看到重定向和重定向。如果将其更改为睡眠10秒,服务器处理脚本的时间将更长,但它仍会立即重定向。我想说的是,您可以选择使用带有setTimeout的JavaScript重定向(window.location.href=“…”
)或元标记(
)。是的,也谢谢您,没有结果。如果我只是在没有任何东西的情况下使用睡眠,访问时的页面延迟访问时的页面延迟?你想让它做什么sleep()
将完全停止脚本,在这3秒(或任何时间)内不会发生任何事情。如果先单击“提交”按钮,然后重定向我的答案,我希望睡眠。如果这不起作用,你必须详细解释发生了什么事。最好的情况是我不知道发生了什么。。没有什么真的没有什么不同,我认为“如果(isset($\u POST['btnLogin'])”是问题所在?我可以用另一种方式写吗?