首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对这段javascript和php cookie代码有问题

对这段javascript和php cookie代码有问题
EN

Stack Overflow用户
提问于 2018-10-23 04:45:32
回答 1查看 62关注 0票数 0

这是我正在尝试做的:使用php和javascript创建一个cookie onclick。我使用的代码(下面)不起作用,因为我真的不知道我在做什么。我需要它在我的域中使用,并在五分钟内过期。有人能帮我改正这段代码吗?谢谢。

代码语言:javascript
复制
<?php
// name of the cookie
$cookie_name = 'testcookie';

// expires in five minutes, also the value of the cookie
$cookie_expire_time = time() + 300;

// check if cookie is set
if(!isset($_COOKIE[$cookie_name])) {
// if NOT set
echo 'Cookie is NOT set. <a href="https://MyTestPage.com/" onClick="window.open(\'https://google.com/\'); setCookie(\''.$cookie_name.'\', \''.$cookie_expire_time.'\', '.$cookie_expire-time.');">Click here to set the cookie, reload the page, and open google in a new tab.</a>';
} else {
// if IS set
echo 'Cookie IS set now.';
}
echo '<script>
function setCookie(cname, cvalue, exdays) {
    var expires = "expires="'.$cookie_expire_time.';
    document.cookie = cname + "=" + cvalue + "; " + expires;
}
</script>';
?>

我最初的测试片段工作正常(如下所示),只是不能获得第一个示例来工作,这个示例是如何工作的。这张30天后过期。如何使用PHP在几分钟内传递过期时间?

代码语言:javascript
复制
<?php
$cookie_name = 'testcookie2';
if(!isset($_COOKIE[$cookie_name])) {
echo 'Cookie is NOT set. <a href="https://MyTestPage.com/" onClick="window.open(\'https://google.com/\'); setCookie(\'testcookie2\', \'yes\', 30);">Click here to set the cookie, reload the page, and open google in a new tab.</a>';
} else {
echo 'Cookie IS set now.';
}
echo '<script>
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}
</script>';
?>
EN

回答 1

Stack Overflow用户

发布于 2018-10-23 06:51:22

无论如何,谢谢大家。我只做了几处改动就让代码按原样工作。虽然是"hackey",但还是照我说的做。下面是我使用的代码:

代码语言:javascript
复制
<?php
$cookie_name = 'testcookie5';
$cookie_time = '1';
if(!isset($_COOKIE[$cookie_name])) {
echo 'Cookie is NOT set. <a href="https://MyTestPage.com/" onClick="window.open(\'https://google.com/\'); setCookie(\'testcookie5\', \'\', '.$cookie_time.');">Click here to set the cookie, reload the page, and open google in a new tab.</a>';
} else {
echo 'Cookie IS set now. Value is: '.strtotime($_COOKIE[$cookie_name]).'<br />';
}
echo '<script>
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*60*1000));
    var expires = "expires="+d.toUTCString();
    var cevalue = d.toUTCString();
    document.cookie = cname + "=" + cevalue + "; " + expires;
}
</script>';
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52937532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档