【发布时间】:2015-02-25 09:03:36
【问题描述】:
我需要什么
- 我需要在用户点击注销时删除 cookie。
- 代码在 chrome 和 mozilla 中运行。
- Mozilla 版本 30,即 10 中的错误。
php代码
public function flushAction() {
$service = $this->get('acme.twig.acme_extension');
$detect=$service->DomainDetect();
if ($this->get('session')->get('user'))
{
$session = $this->get('session');
$ses_vars = $session->all();
foreach ($ses_vars as $key => $value) {
$session->remove($key);
}
}
if(isset($_COOKIE['user']))
{
echo $_COOKIE['user'];
echo "<pre>..........";
unset($_COOKIE['user']);
setcookie("user","",time() - 3000,"/",".10times.com");
}
if(isset($_COOKIE['user_flag']))
{
echo $_COOKIE['user_flag'];
echo "<pre>..........";
unset($_COOKIE['user_flag']);
setcookie("user_flag",'',time() - 3000,"/",".10times.com");
}
if(isset($_COOKIE['email']))
{
echo $_COOKIE['email'];
echo "<pre>....";
unset($_COOKIE['email']);
setcookie("email",'',time() - 3000,"/",".10times.com");
}
if(isset($_COOKIE['name']))
{
echo $_COOKIE['name'];
echo "<pre>.........";
unset($_COOKIE['name']);
setcookie("name",'',time() - 3000,"/",".10times.com");
}
if(isset($_COOKIE['id']))
{
echo $_COOKIE['id'];
echo "<pre>.........";
unset($_COOKIE['id']);
setcookie("id",'',time() - 3000,"/",".10times.com");
}
exit;
//var_dump($_SERVER['HTTP_REFERER']);
if(strstr($_SERVER['HTTP_REFERER'],$detect))
{
header("Location:".$_SERVER["HTTP_REFERER"],TRUE,301);
exit;
}
else
{
header("Location:".$detect,TRUE,301);
exit;
}
exit;
}
资源快照
-
调试
我想删除 cookie 和会话。
- 欢迎提出任何建议。
- 我打电话给 domainname.com/user/flush。
我尝试过的解决方案
$name = $this->getUser()->getAttribute('user', 'default_value');
$this->getUser()->setAttribute('user', $value);
$name->getAttributeHolder()->remove('user','','user_flag');
-
解决方案
if ($this->get('session')->get('user')) { $this->get('session')->remove('user'); } 我想在哪里删除用户和 user_flag 变量的会话。
【问题讨论】:
标签: php html symfony session cookies