如何做到这一点:
“您将在5 ..(4,3,2,1)秒内重定向到domain.com”
在php ???
答案 0 :(得分:14)
我很确定javascript是你最好的选择。唯一的另一种方法是每秒重定向到一个新的URL,这在我看来是过度的。
以下是样本倒计时的完整源代码:
<html>
<head>
<meta http-equiv="refresh" content="5;url=http://example.com" />
<title>Countdown Sample</title>
</head>
<body>
you will be redirected to example.com in <span id="seconds">5</span>.
<script>
var seconds = 5;
setInterval(
function(){
document.getElementById('seconds').innerHTML = --seconds;
}, 1000
);
</script>
</body>
</html>
以下是Alnitak建议的改进版本:
我已将JavaScript更改为重定向用户,并防止倒计时低于1,并且我为<noscript>
周围的<meta>
标记添加了<html>
<head>
<noscript>
<meta http-equiv="refresh" content="5;url=http://example.com" />
</noscript>
<title>Countdown Sample</title>
</head>
<body>
you will be redirected to example.com in <span id="seconds">5</span>.
<script>
var seconds = 5;
setInterval(
function(){
if (seconds <= 1) {
window.location = 'http://example.com';
}
else {
document.getElementById('seconds').innerHTML = --seconds;
}
},
1000
);
</script>
</body>
</html>
标记,供没有JavaScript的用户使用。
{{1}}
答案 1 :(得分:12)
最好不要在PHP中完成,因为它需要Web服务器在倒计时运行时保持与客户端的连接。
使用setInterval()
在Javascript中可以做得更好(恕我直言)。
答案 2 :(得分:5)
您应该使用javascript来显示倒计时,在php中您可以为重定向设置一个计时器,如下所示:
header('refresh: 5; url=http://www.stackoverflow.com');
其中refresh:x设置等待重定向的时间(以秒为单位)。
答案 3 :(得分:2)
简短的回答:你不能。
答案很长:PHP是服务器端,因此,只要页面被发送,PHP就与它无关。您可以通过多种方式寻找所需的信息。您可以使用javascript(允许您进行'可视'倒计时)或在文档元素中设置元刷新标记,如下所示:&lt; meta http-equiv =“refresh”content =“5; url = http://yoursite.com“&GT;
答案 4 :(得分:2)
您可以使用setInterval()
函数实现Javascript倒计时,每秒调用一次,持续5秒,以创建计时器功能来倒计时。时间结束后,您可以使用document
的{{1}}属性将用户重定向到该页面;例如,如果关闭Javascript,创建一个指向页面的硬链接也是有益的。
例如:
location.href
答案 5 :(得分:1)
感谢您的反馈意见
function timer(stamp)
{
var temp=stamp;
temp=temp-1;
document.getElementById('mylbl').innerHTML = temp;
if(temp<=0)
{
window.location = "http://www.tasolglobal.com"
exit();
}
setTimeout("timer("+temp+")",1000);
}
</script>
</head>
<body bgcolor="black" text="white" onload="timer(10+1)" >
<?php
//$sec=5;
$to=$_REQUEST['from']; //Set your email address where you want to get feedback
$from=$_REQUEST['from']; //This will be the senders email add
$message=$_REQUEST['mesg']; //This contains message from feed fackback form
$subject=$_REQUEST['subject']; //This contains subject of Feedback form. You can also set value as feedback so you can find feedback mail easily
$header="From: $from"; //Header of the feedback mail
mail($to,$subject,$message,$header);
echo "<br><br><h1>Thank You For Your Feedback...
</h1><br><font color=red size=3>Your Will Be Redirected To HOME PAGE... Within ";
echo "<label id=mylbl></label>" ;
echo " Seconds";
?>
</body>
答案 6 :(得分:0)
你可以混合javascript和php,当你进入页面时,你需要从数据库到php倒计时,然后用javascript计算它。类似的东西由http://free-countdown.co.nr/
使用