Codeigniter-cookie-management

提供:Dev Guides
移動先:案内検索

CodeIgniter-Cookie管理

Cookieは、クライアントのコンピューターに保存するためにWebサーバーから送信される小さなデータです。 CodeIgniterには、Cookie管理用の「Cookie Helper」というヘルパーが1つあります。

Syntax set_cookie($name[, $value = ''[, $expire = '[, $domain = '[, $path = '/[, $prefix = '[, $secure = FALSE[, $httponly = FALSE]]]]]]]])
Parameters
  • $ namemixed)-この関数で使用可能なすべてのパラメーターのCookie名または連想配列
  • $ valuestring)− Cookie値
  • $ expireint)-有効期限までの秒数
  • $ domainstring)− Cookieドメイン(通常:.yourdomain.com)
  • $ pathstring)− Cookieパス
  • $ prefixstring)− Cookie名のプレフィックス
  • $ securebool)-HTTPS経由でのみCookieを送信するかどうか
  • $ httponlybool)-JavaScriptからCookieを非表示にするかどうか
Return Type void
  • set_cookie()*関数では、2つの方法を使用してすべての値を渡すことができます。 最初の方法では、配列のみを渡すことができ、2番目の方法では、個々のパラメーターも渡すことができます。
Syntax get_cookie($index[, $xss_clean = NULL]])
Parameters
  • $ indexstring)− Cookie名
  • $ xss_cleanbool)-戻り値にXSSフィルタリングを適用するかどうか
Return The cookie value or NULL if not found
Return Type mixed
  • get_cookie()*関数は、set_cookie()関数を使用して設定されたCookieを取得するために使用されます。
Syntax delete_cookie($name[, $domain = ''[, $path = '/[, $prefix = ']]]])
Parameters
  • $ namestring)− Cookie名
  • $ domainstring)− Cookieドメイン(通常:.yourdomain.com)
  • $ pathstring)− Cookieパス
  • $ prefixstring)− Cookie名のプレフィックス
Return Type void
  • delete_cookie()*関数は、cookie()を削除するために使用されます。

*Cookie_controller.php* というコントローラーを作成し、 *application/controller/Cookie_controller.php* に保存します
<?php
   class Cookie_controller extends CI_Controller {

      function __construct() {
         parent::__construct();
         $this->load->helper(array('cookie', 'url'));
      }

      public function index() {
         set_cookie('cookie_name','cookie_value','3600');
         $this->load->view('Cookie_view');
      }

      public function display_cookie() {
         echo get_cookie('cookie_name');
         $this->load->view('Cookie_view');
      }

      public function deletecookie() {
         delete_cookie('cookie_name');
         redirect('cookie/display');
      }

   }
?>
*Cookie_view.php* という名前のビューファイルを作成し、 *application/views/Cookie_view.php* に保存します。
<!DOCTYPE html>
<html lang = "en">

   <head>
      <meta charset = "utf-8">
      <title>CodeIgniter View Example</title>
   </head>

   <body>
      <a href = 'display'>Click Here</a> to view the cookie.<br>
      <a href = 'delete'>Click Here</a> to delete the cookie.
   </body>

</html>

application/config/routes.phpのroutes.phpファイルを変更して、上記のコントローラーのルートを追加し、ファイルの最後に次の行を追加します。

$route['cookie'] = "Cookie_controller";
$route['cookie/display'] = "Cookie_controller/display_cookie";
$route['cookie/delete'] = "Cookie_controller/deletecookie";

その後、ブラウザで次のURLを実行して例を実行できます。

http://yoursite.com/index.php/cookie

次のスクリーンショットに示すような出力が生成されます。

cookie_management