根据 URL-变量 PHP 使 Cookie 过期
Make Cookie expire according to URL-variable with PHP
我正在开发一个新的 product/website,主页(而不是子页面)应该在网站启动之前对访问者关闭。启动日期应该像这样从 URL 中读出:
website.com/some-subpage?launch=0421
在此示例中,访问者应该可以从 4 月 (04) 日 (21) 日开始访问主页。
为此,如果有人访问 "some-subpage"(或任何其他子页面,无关紧要),我想这样做,cookie 应该设置如下:
- Cookie 名称:Launch
- Cookie 值:0421
- Cookie 到期:在发布时,因此在本例中为 4 月 21 日
这是我目前的情况:
<?php
if ($_GET['launch'] != "null") {
date_default_timezone_set('Europe/Berlin');
$launchdate = $_GET['launch'];
$launchdatenew->format('*********'); // Here I probably need to convert the "0421" to a readable time, but I dont know how
// or probably using this version?
$launchdatenew = date_format(date_create_from_format('m d', $launchdate), '*********'); // Here I probably need to convert the "0421" to a readable time, but I dont know how
setcookie("Launch", $launchdate, $launchdatenew, "/"); // The Cookie-Name should be "Launch", the value "0421", and it should expire when the launch starts
} ?>
你能帮我完成这个吗?我不知道如何将“0421”转换为可以设置为 cookie 过期日期的新格式。不幸的是,我的 PHP-技能几乎为零。
非常感谢!
再见,
伊姆雷
然后我将向您展示如何根据 $launch
中的日期在该 cookie 上设置 expire
。
假设它将始终采用 'mmdd' 格式,然后进行一些简单的字符串操作...
$launchDateStr = '0421';
$launchTime = mktime(0, 0, 0, substr($launchDateStr, 0, 2), substr($launchDateStr, 2));
$ttl = $launchTime - time(); //just an example... find seconds between now and launch
setcookie("launch", $launchDateStr, $launchTime, "/");
警告...这忽略了年份。您不应该信任用户数据。这一切都可以被欺骗。
我正在开发一个新的 product/website,主页(而不是子页面)应该在网站启动之前对访问者关闭。启动日期应该像这样从 URL 中读出:
website.com/some-subpage?launch=0421
在此示例中,访问者应该可以从 4 月 (04) 日 (21) 日开始访问主页。
为此,如果有人访问 "some-subpage"(或任何其他子页面,无关紧要),我想这样做,cookie 应该设置如下:
- Cookie 名称:Launch
- Cookie 值:0421
- Cookie 到期:在发布时,因此在本例中为 4 月 21 日
这是我目前的情况:
<?php
if ($_GET['launch'] != "null") {
date_default_timezone_set('Europe/Berlin');
$launchdate = $_GET['launch'];
$launchdatenew->format('*********'); // Here I probably need to convert the "0421" to a readable time, but I dont know how
// or probably using this version?
$launchdatenew = date_format(date_create_from_format('m d', $launchdate), '*********'); // Here I probably need to convert the "0421" to a readable time, but I dont know how
setcookie("Launch", $launchdate, $launchdatenew, "/"); // The Cookie-Name should be "Launch", the value "0421", and it should expire when the launch starts
} ?>
你能帮我完成这个吗?我不知道如何将“0421”转换为可以设置为 cookie 过期日期的新格式。不幸的是,我的 PHP-技能几乎为零。
非常感谢! 再见, 伊姆雷
然后我将向您展示如何根据 $launch
中的日期在该 cookie 上设置 expire
。
假设它将始终采用 'mmdd' 格式,然后进行一些简单的字符串操作...
$launchDateStr = '0421';
$launchTime = mktime(0, 0, 0, substr($launchDateStr, 0, 2), substr($launchDateStr, 2));
$ttl = $launchTime - time(); //just an example... find seconds between now and launch
setcookie("launch", $launchDateStr, $launchTime, "/");
警告...这忽略了年份。您不应该信任用户数据。这一切都可以被欺骗。