如果URL字符串中的时间戳过期,则重定向页面

时间:2015-09-26 16:19:02

标签: php string url redirect timestamp

我通过查看this postthis post将一些代码拼凑在一起。但我没理得。

我想在我的网址中加入一个时间戳,然后检查时间戳是否已过去2个月。如果我们在2个月内,请正常显示页面。如果超过2个月,请重定向页面。

这是我到目前为止所做的,但它不起作用。关于如何使其正常工作的任何建议?

//test timestamp... this will come from the url as so: www.mywebsite.com?ts=1340037073
$timestamp = echo $_GET['ts'];

//check if it has expired (in seconds, 5256000 sec = 2 months).
if ((time() - $timestamp) < 5256000)
{
echo 'valid';
}
else
{
Header("Location: http://www.google.com");
}

2 个答案:

答案 0 :(得分:1)

如果删除&#34; echo&#34;计算时间戳之间差异的代码应该有效。从第2行;即改变:

$ timestamp = echo $ _GET [&#39; ts&#39;];

$ timestamp = $ _GET [&#39; ts&#39;];

你也可能想要测试isset($ _ GET [&#39; ts&#39;])并明确处理这个条件,因为它可以在没有&#39; ts&#39;的情况下进入页面。变量被设定。

答案 1 :(得分:0)

基于这些评论和其他评论,我已经将代码修改为了这个并且它正在运行:

// Registration Discount Page
//check if it has expired (in seconds, 5256000 sec = 2 months).
add_action( 'wp', 'registration_discount');
function registration_discount(){
if(strpos($_SERVER["REQUEST_URI"], '/registration-discount') > -1 ){
    if(empty($_GET['ts'])){
        header("location: http://www.funkytownusa.com");
    }
    elseif(isset($_GET['ts'])){
        if ((time() - $_GET['ts']) >= (DAY_IN_SECONDS * 60))
        {
            header("location: http://www.funkytownusa.com");
        }
    }
  }
}