サイトの有料メンバーに、プレミアム コンテンツを非メンバーと 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
}
しかし、数学は正しく出ていません。何か案は?または、これを達成するためのより良い方法はありますか?