php在yii2中的cookie用法
設定cookie
$cookies = Yii::$app->response->cookies;
if (! empty ( $uid )) {
$uCookie=$cookies->add(new Cookie([
'name' => 'uid_ck',
'value' =>$uid,
'expire' =>time()+ 30*24*3600,
'domain'=>'.yiwang.com'//作用域寫字串
]));
}
清除cookie
$cookie = Yii::$app->response->cookies;
$cookie->remove('uid_ck');
如果以上方法清除不了你的cookie還可以再加上下邊這個
$cookie = Yii::$app->response->cookies;
$uCookie=$cookie->add(new Cookie([
'name' => 'uid_ck',
'value' =>'',
'expire' =>time() - 30*24*3600,
'domain'=>$domainCk
]));
獲取cookie
//檢查是否存在該值,然後再獲取
$cookies = Yii::$app->request->cookies;
if ($cookies->has('uid_ck')) {
$openid = $cookies->get('uid_ck');
}
yii2清除不了cookie值,存不了cookie值
公眾號設定的退出登入時不時不管用
yii2清除不了cookie值,存不了cookie值
1)發現同一個方法裡因為既有設定cookie的也有獲取cookie的地方,心想著上邊用了,下邊再覆蓋這個變數名$cookies就可以了,但是發現不行,
以下是我出錯原始碼
$cookies = Yii::$app->request->cookies;
$openid = $cookies->get('optKey_open');//可以取到值
$cookies = Yii::$app->response->cookies;//改為$cookie
$cookies->add(new Cookie([//存不了//改為$cookie就可以
'name' => 'isNewUser',
'value' => 1,
'expire' => $setTime + 10,
'domain' => $domainCk
]));
原因:設定存取的cookie變數同名了
2)還有一個是退不出登入
以下是我的出錯原始碼
$cookie = Yii::$app->response->cookies;
$a= $cookie->add(new Cookie([
'name' => 'uid_ck',
'value' => '',
'expire' => time() - 30 * 24 * 3600,
'domain' => $domainCk
]));
$a=$cookie->add(new Cookie([
'name' => 'optKey_open',
'value' => '',
'expire' => time() - 30 * 24 * 3600,
'domain' => $domainCk
]));
就是因為同名$a,可以去掉"$a=",或者寫成兩個不同的變數名,同名可能覆蓋或者像我這樣的兩個都設定不成功
相關文章
- Yii2 Action用法
- PHP中引號的用法PHP
- php中如何配置Cookie加密PHPCookie加密
- PHP中ZendCache用法的小例子PHP
- PHP中的連線字元. 的用法PHP字元
- document.cookie 用法Cookie
- Yii2多模型與事務的用法模型
- localStorage、sessionStorage、Cookie的區別及用法SessionCookie
- php的lavarel框架中join和orWhere的用法PHP框架
- PHP Session的用法PHPSession
- PHP 中 bind 的用法 self 和 static 的區別PHP
- PHP 回顧之 cookiePHPCookie
- YII2自動登入Cookie失效問題解決Cookie
- 在滲透中curl的常見用法
- PHP 手冊中的匿名函式關聯用法分析PHP函式
- cookie與session的區別以及在Django中的實現CookieSessionDjango
- PHP 不得不提的 session 與 cookiePHPSessionCookie
- 在node中的mongodb及mongoose常見用法MongoDB
- 非空校驗在oracle和mysql中的用法OracleMySql
- 關於 lambda 在 WebDriverWait () 中的用法實在不明白WebAI
- Qdrant用法;Qdrant在langchain裡的用法LangChain
- goto 語法在 PHP 中的使用GoPHP
- Cookie、Session、JWT在koa中的應用及實現原理CookieSessionJWT
- 一文搞懂Session和Cookie的用法及區別SessionCookie
- Nmap在實戰中的高階用法(詳解)
- php array_filter() 函式的用法PHPFilter函式
- 在百度小程式中對set-cookie的處理Cookie
- 基於Yii2對RabbitMQ的基本用法封裝及RPC佇列(二)MQ封裝RPC佇列
- Tomcat 中的 Session 和 CookieTomcatSessionCookie
- 在 PBootCMS 中,使用 {php} 和 {eval} 標籤可以在模板中執行 PHP 程式碼bootPHP
- InfluxDB簡介與php用法UXPHP
- 基於Yii2對RabbitMQ的基本用法封裝及佇列實現(一)MQ封裝佇列
- button 和input 的區別及在表單form中的用法ORM
- js中的this用法JS
- php+mysql+cookie+模組化開發PHPMySqlCookie
- echo命令在Unix中的作用以及其常見用法?
- 在 Yii2 中使用 Laravel 驗證類Laravel
- requests庫中的Cookie處理Cookie
- flask框架中的cookie和sessionFlask框架CookieSession