codeigniterモデルでログイン機能を使用しようとしていますが、そこで Cookie を取得できません。
bool false を返します。
問題の検索を試みましたが、問題の 1 つは Cookie が設定されていないことでしたが、ドメイン localhost の下のブラウザーで Cookie が設定されています。そして、以前に別のプロジェクトで localhost で Cookie を使用しようとしましたが、codeigniter を使用せずに、localhost で Cookie を取得できました。
ここで$_COOKIE['username']
は、無効なインデックス「ユーザー名」というエラーがスローされ、$this->input->cookie('username')
が返されbool(false)
ます。しかし、ブラウザに「ユーザー名」Cookie が表示されます。
設定および取得された Cookie は別のファイルにあります。
public function checkLogin(){
$this->load->helper('cookie');
$row['user'] = $this->input->cookie('username', TRUE);
$row['handle'] = $this->input->cookie('email', TRUE);
$row['id'] = $this->input->cookie('pid', TRUE);
$row['type'] = $this->input->cookie('type', TRUE);
$row['slug'] = $this->input->cookie('slug', TRUE);
$row['cuid'] = $this->input->cookie('cuid', TRUE);
return $this->input->cookie('username', false);
}
}
Cookieを別のファイルに設定しましたが、
setcookie("username",$user, time()+60*60*60*24*30);
setcookie("email",$handle, time()+60*60*60*24*30);
setcookie("pid",$row['id'], time()+60*60*24*30*60);
setcookie("type",$type, time()+60*60*24*30*60);
setcookie("slug",$row['slug'], time()+60*60*24*30*60);
setcookie("city",$row['city'], time()+60*60*24*60*30);
setcookie("cuid", $code, time()+60*60*24*60*30);
必要な詳細情報をお尋ねください。モデルではなく、コントローラーでコンストラクト関数 (2 つのアンダースコア) を使用しました。Cookie が設定されているフォームは、コントローラーまたはモデルではなく、ルート フォルダーにあります。そして、私も使用してCookieを設定しようとし$this->input->set_cookie();
ました。