【发布时间】:2015-05-26 09:39:14
【问题描述】:
我创建了一个 chrome 扩展程序,并尝试使用它来允许用户登录系统。我正在使用 chrome.cookies.set 设置一个 cookie,然后我尝试用 PHP 读取它 - 但 PHP 似乎从未将 cookie 视为已设置。我已经手动验证了 cookie 存在,但 isset() 似乎总是返回 false。
chrome.cookies.set({"name":"username","url":"http://127.0.0.1","domain":null, "path": "/", "value":userName},function (cookie){
console.log(JSON.stringify(cookie));
console.log(chrome.extension.lastError);
console.log(chrome.runtime.lastError);
});
这就是我设置 cookie 的方式,这就是我尝试使用 PHP 获取它的方式:
<?php
if(isset($_COOKIE["username"])){
echo "Logged in";
}
?>
有什么想法吗?这让我困惑了一段时间。
【问题讨论】:
-
您可能想尝试在 cookie 中添加过期日期:
"expirationDate" :date + 1000000`。 -
感谢您的回复,我已尝试设置类似
"expirationDate" : (new Date().getTime()/1000) + 3600的过期日期,但 PHP 仍然无法看到它已设置。 -
我不熟悉cookie api,但是你的php代码不应该是
$_COOKIE["name"]吗? -
我不这么认为,那段代码将cookie的名称设置为“用户名”。无论如何,我尝试将 php 更改为
$_COOKIE["name"],但没有任何乐趣。我什至尝试从单独的 login.php 脚本设置 cookie - 正在创建 cookie,因为我可以用 chrome 看到它,但由于某种原因 PHP 根本无法验证它。起初我认为这是扩展范围的问题,但它肯定应该从一个单独的 php 文件中工作吗?
标签: javascript php google-chrome cookies google-chrome-extension