icon
icon

PHPでCookieを使う方法【初心者向け】

プログラミング初心者向けに、PHPの【Cookie(クッキー)】を使う方法を解説した記事です。Cookieとは、ブラウザ側に一時的にデータを保存するための仕組みです。PHPでは「setcookie」を使います。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

プログラミング初心者向けに、PHPの基礎を紹介する記事です。

今回は、PHPでCookie(クッキー)を使う方法を初心者向けの解説します。

 

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。

また、開発環境はXAMPPを使っています。

そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。

 

今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。(動画は3つに分かれています)

 

Cookieとは

Cookie(クッキー)とは、コンピュータのブラウザ側に一時的にデータを保存するための仕組みのことです。

 

たとえば、よく訪問するWebサイトにログインするときにIDやパスワードが履歴として出てきたり、ネットショッピングでショッピングカートに入れたものが一定の期間だけ保存されていたりしますよね。これは、Cookieが働いているためです。

 

CookieはPHPで設定することができます。次のように、シンプルに setcookie という関数を使い、(  )内にそのクッキーの名前・データ・有効期限を入れて書くことができます。

クッキー

 

大石ゆかり

クッキーは、アクセスしてくれた人にデータを送ることが出来るんですか?

田島悠介

そうなんだ。ブラウザにはクッキーを保存する小さいメモ帳みたいなのが搭載されてるんだ。

大石ゆかり

ブラウザに保存したデータは、どう使うんですか?

田島悠介

アフィリエイトIDとか、ログインした会員や管理人しか入れないページにも使われてるんだよ。実際に書いてみよう!

 

実際に書いてみましょう。

<?php
setcookie(‘username’,’yamada’,time()+60*60*24*7);
echo $_COOKIE[‘username’];
?>

※ time の +60*60*24*7 は、有効期限が1週間だということをあらわしています。

 

今回は echo で Cookie の名前を出力してみたので、Cookie で裏側に保存されていたデータを取り出すことができました。

yamada

 

このように、Cookieは裏側で保存して使いまわすことができますが、Cookieのデータを消したい場合もありますよね。

削除したい場合は、有効期限のところを time()-1 にしてあげます。

<?php
setcookie(‘username’,’yamada’,time()-1);
echo $_COOKIE[‘username’];
?>

 

更新してみましょう。

エラー

すると、Cookieが見つからないというエラーになります。

 

おわりに

今回の記事は以上です。

ECサイトなど、いろいろなシステムを構築していくときに使っていきますので覚えておいてくださいね。

Cookieについて理解したら、PHPでセッションを使う方法も合わせてご覧ください。

 

大石ゆかり

スーパーグローバル変数の$_COOKIEで、セットしたクッキーの名前を指定すると、値が取り出せるんですねー。

田島悠介

ブラウザにセットしたクッキーって、同じサーバーにアクセスすると送り返してくるんだ。$_COOKIEは、それを取得しているんだよ。

大石ゆかり

こちらがPHPでデータをセットする。そして、セットされたデータは、同じサーバーの場合、送り返すようになってるんですか?

田島悠介

そうなんだ。よりくわしく知りたい場合は、セッションの項目も見てほしいな。

 

また、PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい
1時間でできる無料体験!

と思ったことはないでしょうか?

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する