PHP入門

Cookie

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Cookieは、Webブラウザに搭載された機能で、簡単な情報を保持しておくことができる機能です。ログイン情報や、メールアドレスなど入力する機会が多い情報を一時的保持しておくことができます。
講師:
09:00

字幕

ここではクッキーを紹介していきます。クッキーというのは PHP の機能ではなくWeb ブラウザに搭載されている記録機能の一つです。様々な情報を一時的に或いは何日か記録しておくことができるのでよくあるのはログイン画面などでそのログイン情報を保持しておくというような形で保存する機能などが一般的です。そのクッキーを PHP で扱う方法を紹介していきましょう。まずはファイルを準備します。MAMP のアップロードフォルダーhtdocs の中にlesson04-04 ということでフォルダーを作成します。テンプレートファイルをコピーしていただいてこちらの index.html を index.php に名前を変えます。このファイルを編集していきましょう。ここでは簡単なフォームを一つ作ります。action として method を post とします。ここでは table タグを構成してちょっとしたログイン画面を作っていきましょう。name としては id とします。もう一行このような形でフォームが作られました。この画面、一度表示を確認しておきましょう。MAMP が起動して Apache が起動していることを確認したらWeb ブラウザから lesson04-04 というところにアクセスします。 するとこのように ID とパスワードを入力する欄ができあがりました。ちょっと表示を整えておきましょう。さて、これで ID とパスワードを入力して送信するボタンをクリックした時にその値をクッキーに保存するようにします。では、ファイルをもう一つ増やしましょう。内容をすべて消していただいて代わりに今書いた HTML を全文コピーします。そして content の内容は一度すべて消してここではここに「ログインしました」という形でメッセージを表示します。本来ここではログインできるかどうかというのを ID やパスワードを確認して判断するというスクリプトが必要になってくるのですがここでは省略してログインできたことにします。このファイルを今度はlesson04-04 にinput_do.php という名前で保存します。そして index.html からもinput_do に接続してこれでファイルとしては完成です。例えば ID として一度再読み込みした後makoto などと入力しパスワードを適当なものを入力して送信します。そして「ログインしました」と表示されるんですがこの時にmakoto という今入力した内容をクッキーに保存してみましょう。 そして1つ前のこの画面で再読み込みをした時に予め makoto という情報が入っているという状態にしてみたいと思います。クッキーに値を保存するときは前のレッスンでやりましたがheader ファンクションと同様に一番先頭に書かなければなりません。一番先頭のところにsetcookie というファンクションを書きそこに例えば login_id というようなキーを付けます。保存する内容としては$_POST の id というname 属性のついたテキストフィールドの内容になりますのでこのように記述します。これでクッキーに内容が保存できるようになりました。もう一度動きを確認しておきます。ID に makoto と入れてパスワードは適当で結構です。送信するボタンをクリックすると「ログインしました」と表示されますがこの時裏側の仕組みでログイン ID というキーでクッキーが保存されています。では、今保存したクッキーを改めて呼び出すためにはどうしたら良いかと言うとindex.php のこちらのテキストエリアにvalue 属性を追加します。そしてここに print で$_COOKIE ということで今付けたキーをここに付けます。 これで改めてファイルを呼び出してみましょう。前の画面に戻って今ここに表示されているのはWeb ブラウザのヒストリー機能で表示されているだけなのでURL をコピーして一度画面を閉じます。そして新しいタブを開いてここに URL を貼り付けて確認してみましょう。アクセスすると ID に makoto と表示されています。再度画面を呼び出してもずっとこの makoto という情報は残っていますのでこれでクッキーに保存されているということが分かります。ではこのクッキーはいつまで保存されているのかと言うと実はブラウザを終了するまでです。先程はこのタブを閉じただけの状態だったんですがWeb ブラウザ自体を落とした場合改めてブラウザを起動し先程のファイルを呼び出してもクッキーの値は消えています。クッキーというのは基本的にWeb ブラウザを終了するまでの間保持されるという動きになります。但し、ある条件を加えることでクッキーをブラウザを終了した後も保存しておくこともできます。どのように行うかと言うとinput_do.php に書いた setcookie に3つ目のパラメータとしてどのくらいの間保持しておくのかというのを記述していきます。 記述の仕方としてはtime と書いた後ここに保持しておきたい秒数を書きます。なので、例えば 15 と書けば15 秒ですし60 と書くと 1分そして 60 掛ける 60 と書けばこれで一時間になります。更に 24 時間これで1日保持され例えば 7と書くことで一週間保持することができます。これで改めて確認してみましょう。ここに makoto と書きまして送信します。すると「ログインしました」で記録されるんですがこれでブラウザを再起動してみましょう。一度ブラウザを落とします。そして再度起動しこちらの入力画面に戻ってみます。すると makoto という情報が保持されていることが分かります。このまま7日間保持することができます。こうしてクッキーに情報を保存しておけばこのようなログイン ID であったりメールアドレスや名前など毎回毎回入力しなければいけないような情報を保持しておくことができます。非常に親切な画面になりますので是非使いこなすと良いでしょう。ただ、幾つかポイントがあります。まず、パスワードなどの情報をクッキーに保存してしまうとセキュリティ的に非常に危険な状態になります。もしログインの情報自体を保存したい場合暗号化などの非常に難しいテクニックが必要になりますのでここではその解説を省略したいと思います。 パスワードをそのままクッキーに保存するというようなことはしないようにしてください。また、このクッキーというのはレンタルサーバーなどによっては非常に危険な情報になることがあります。ですので、レンタルサーバーなどの場合には気を付けてクッキーを使わなければなりませんので興味があればセキュリティなどに関してもしっかり確認をしてから使うようにしてください。

PHP入門

このコースでは動きのあるWebサイトでショッピング、友人との写真を共有、キーワードによる情報検索など便利な仕組みを作るための技術であるPHPについて解説します。これまでプログラミングに触れたことがない方でも、ちょっとしたプログラムを自分で作ることができるようになります。

4時間56分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。