首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在继续使用PHP之前,我如何等待一定的时间?

问在继续使用PHP之前,我如何等待一定的时间?
EN

Stack Overflow用户
提问于 2011-09-29 10:44:07
回答 3查看 223关注 0票数 0

所以这是两个问题...

首先,当用户注销时,我希望将他们重定向回登录页面。我使用header('login_form.php');完成此操作,但是,在执行此操作之前,我尝试打印出文本“您已成功注销。您现在正被重定向到登录表单”。我使用echo和回显文本来完成此操作,但是,标头运行得如此之快,以至于我几乎立即被转移回登录表单,而没有机会阅读消息。那么,如何才能稍微延迟一点,让消息只显示5秒左右,然后再用头重定向用户呢?

我的第二个问题是,在登录表单上简单地显示“不正确登录”的最好方法是什么?因此,当我浏览登录表单并输入了错误的用户/密码时,它不会转到"login.php“,然后重定向回login_form.php,而是简单地确定登录是否成功,如果不成功,它只会在输入字段上方显示”不正确的登录“,而不必重定向到login_form (它也不会通知用户登录是不正确的)。

EN

回答 3

Stack Overflow用户

发布于 2011-09-29 10:46:18

返回一个简单的HTML页面,其中包含一个指向<head>中所需位置的meta refresh标记。

代码语言:javascript
复制
<meta http-equiv="refresh" content="5;url=login_form.php">

这将在5秒后将页面刷新(重定向)到给定的URL。我还会考虑为不耐烦的用户添加一个直接的<a>链接。

代码语言:javascript
复制
<p>
   You are logged out. You will be redirected to the login page in 5 seconds. 
   Click <a href="login_form.php">here</a> if you're impatient.
</p>

我个人觉得5秒太长了。让它变成3。

至于你的第二个问题,只需让表单提交给自己,并在输入字段旁边动态内联错误消息,重新显示完全相同的表单。仅当登录成功时才重定向。

票数 6
EN

Stack Overflow用户

发布于 2011-09-29 10:50:15

  1. 单独用php做这件事会很困难,甚至可能是不可能的,这取决于具体的环境。取而代之的是,将他们带到logout.php,或者任何显示“您已被注销”的页面,并简单地添加一个meta refresh头,如下所示:<meta http-equiv="refresh" content="5; url=login_form.php">这将在5秒内将他们重定向到login_form。这是一种流行的技术,但我也不能保证它在所有情况下都能工作。
  2. 这可以用javascript完成(你可以用ajax执行验证并显示相应的错误消息/让他们根据需要登录)。如果javascript不是一个选项,或者如果您还需要处理没有它的用户,那么当login.php拒绝身份验证时,设置一个_SESSION参数,比如_SESSION[login_fail_message] = true。在login_form.php上,检查此值是否为true。如果是,则显示“登录不正确”消息。尝试登录时清除此值(理想情况下,如果用户离开页面,则清除该值)。
票数 0
EN

Stack Overflow用户

发布于 2011-09-29 10:51:14

对于第一部分,要知道更改location标头会立即生效。某些站点允许登录窗体显示用户已成功注销的消息。

对于第二部分,让javascript先做验证,然后在客户端显示所有错误。如果它通过了javascript,让服务器从POST执行服务器端验证,并再次返回登录表单,但这次要标记错误区域。登录成功应该会像往常一样重定向它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7591907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档