我授予网站的付费会员在 30 天内与非会员分享优质内容的权利。这是我想要完成的事情:
首先,订阅者填写表格以生成发送给好友的电子邮件,该电子邮件会生成内容登录页面的 URL。因为我不希望他们能够轻易地操纵它,所以我所做的只是将一个 base64 编码的日期附加到着陆页 URL。
$url = "http://www.example.com/video_landing_page.php?" . base64_encode(date('Y-m-d'));
收件人将收到一个类似于http://www.example.com/video_landing_page.php?MjAxNC0wMi0yNg==的链接
在登录页面上,我解析了 url 以获取查询并对其进行解码:
$url = $_SERVER['PHP_SELF'];
$url_components = parse_url($url);
$query = $url_components['query'];
$decodedQuery = base64_decode($query);
现在,如果自创建 url 以来已经过去 30 天,我想显示一条错误消息,这就是我卡住的地方。我已经尝试过这样但未能得到我需要的东西:
if ((strtotime($decodedQuery) + strtotime('+30 Days')) > date('Y-m-d){
Display error Message
} else {
Display Success Message
}
但数学结果并不正确。有任何想法吗?还是有更好的方法来实现这一点?