3 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
不要使用die()
,因?yàn)檫@樣就不會(huì)設(shè)置 cookie。讓該方法返回,以便 CI 可以輸出 cookie 和標(biāo)頭。
你不需要這個(gè)助手,不要加載它。
site_url()
不會(huì)產(chǎn)生您應(yīng)該使用的字符串。它包括協(xié)議,即https://example.com
當(dāng)您只應(yīng)使用“example.com”時(shí)。
您將域和路徑參數(shù)顛倒了,正如其他人所說(shuō),調(diào)用是setCookie()
在
$this->response->setCookie('forgetpwd', $token, 3600, example.com);
expire參數(shù)可以是你想要的壽命(以秒為單位)。該setCookie()
方法將為time()
您添加。
我沒(méi)有提供路徑參數(shù),因?yàn)槟枰J(rèn)值“/”。

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
直到下一次加載 cookie 應(yīng)該可見(jiàn)的頁(yè)面時(shí),cookie 才會(huì)變得可見(jiàn)。要測(cè)試 cookie 是否已成功設(shè)置,請(qǐng)?jiān)?cookie 過(guò)期之前檢查下一個(gè)加載頁(yè)面上的 cookie。過(guò)期時(shí)間通過(guò) expires 參數(shù)設(shè)置。調(diào)試 cookie 存在的一個(gè)好方法是簡(jiǎn)單地調(diào)用 print_r($_COOKIE);。

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
這段代碼對(duì)我有用。我從請(qǐng)求中獲取 cookie 并將其設(shè)置在響應(yīng)中。(記住在處理之前驗(yàn)證用戶輸入)
<?php
namespace App\Controllers;
use Config\Services;
class Home extends BaseController {
public function setLang($lang = ""){
// remember filter your inputs
Services::response()->setCookie('lang', $lang);
echo("<script>location='/index';</script>");
}
public function index(){
//default value
$lang = "es";
//if empty return NULL.
$tmpLang = Services::request()->getCookie("lang");
if(in_array($tmpLang, ["es", "en", "ja", "pt"])){
$lang = $tmpLang;
}
//show cookie value
echo $lang
}
}
?>
- 3 回答
- 0 關(guān)注
- 267 瀏覽
添加回答
舉報(bào)