ホームページのお役立ち情報サイト
ホームページ作成 メニュー
HOME

HPのお役立ちトピック

Web作成のおすすめ本紹介

ホームページ作成入門

知って得するノウハウ集

HTML/CSSのテクニック集

JavaScriptのテクニック集

PHPを始めよう!
  基礎編
PHPってどんなもの?
文字を出力してみよう
変数を使ってみよう
演算子を使おう
配列を使おう
関数を自分で作ろう
  制御構文
[if]シンプルな条件分岐
[switch]if文を簡潔に記述
[while/for/foreach]ループ
  応用編
フォームのデータを受け取る
クッキーとセッション管理
  実践編
カウンタでファイルの読み書き
BBS(掲示板)を作ろう!


ホームページ 一言アンケート
HTML作成にメインで使っているソフトは?




 印刷用ページ

ご意見・ご感想
ご利用上の注意


実践Webデザイン塾
格安ADSL・電話加入権



PHPを始めよう!

クッキーとセッション管理

Web関連のプログラムを書いたことがある方は、クッキーやセッションという言葉を聞いたことがあるでしょう。通常のWebページでは、複数のページでデータの受け渡しを行うのが不可能ですが、PHPでは、これらの技術を使うことによって、ユーザーが持っているデータ管理することができます。

クッキーやセッションはこのような所で使われています。

  1. ショッピングカート機能(カゴにどの商品が○個入っているといった情報)
  2. ユーザー認証のログインチェック
  3. 複数のページにまたがる入力フォーム
などが挙げられます。

クッキーの特徴

クッキーは、ユーザーのブラウザ環境に依存した機能の1つと言えます。最近、クッキーがON・OFFといった言葉を耳にする機会が多くなっていると思いますが、当然のことながらOFFにしているユーザーには効果がありません。
また。実用例としては、掲示板等に書きこんだ際に、前に入力した名前やメールアドレスがサイトに再訪問した時に残っているという経験があるという方がいらっしゃると思います。クッキーでは、その有効期限(プログラム側で指定可能)が切れるまで、その情報を保持することができます。
クッキーの情報は、ユーザーのパソコンの中に書き込まれ、そのファイルによって情報管理が行われます。

セッションの特徴

PHPでは、バージョン4.0から実装された機能です。簡単に説明すると、クッキーのサーバー版と言ったところです。サーバー側で一時ファイルを設け、それによってデータの管理を行います。

クッキーやセッションのメリットとデメリット

クッキーとセッションが出来ることは非常に似ていますが、お互いメリット・デメリットがあります。

クッキーは、ブラウザを閉じても残り、期間を置いた後にもデータを残すことが可能です。また、情報をユーザ側に置くため、サーバーに余計な負荷をかけることがありません。逆に、ユーザーに依存することが多く、また改ざんすることも可能なため、情報の信頼性に欠ける部分があります。

セッションは、サーバーサイドで情報を保持するため、クッキーと違いデータの改ざんが困難になります。ユーザー認証によるログインなど顧客情報などを扱うようなサイトにセキュリティ上、適しているものと言えます。

クッキーの記述方法

・setcookie関数
PHPのクッキーはとても簡単で、setcookie()という1つの関数で実現できます。また、発行したユーザーのクッキーには、$_COOKIEという配列から取得することができます。
下のサンプルスクリプトは、フォームに入力されたデータをクッキーに保存し、保存したデータをブラウザ上に表示するというものです。
・ソース
time()+60*60*24*30 という部分で有効期限を指定しています。time()は、現在のUNIXのタイムスタンプ(1970年1月1日 00:00:00 GMTからの通算秒)を返します。

2008/07/09 10:22:59のtime()関数を表示するとこのようになります。単位は(秒)です。
1215566579

これに、60秒×60分×24時間×30日をかけた数字をプラスし、現段階から1ヶ月間有効なクッキーを発行しています。 ・セッションの記述方法 とても簡単な例を紹介します。リロードをするとカウントが1つずつ増えていくスクリプトです。まず、session_start()を使ってセッションをスタートさせます。次にページが読みこまれる度に、$_SESSION['count']に値をずつ追加していきます。ブラウザを開いている間は、このカウントが保持されます。
・ソース
同一ページでは、セッションを使っている実感が沸かない(かもしれない)ので複数ページにまたがるセッション管理も試してみます。
ここでは、ファイルを2つ用意します。2つのファイルのリンクを行ったり来たりしている間も値を保持できるようになります。2ページ目でも、$_SESSION['test']という変数が保持されているのをご覧になれると思います。

ファイル名:session1.php
・ソース
ファイル名:session2.php
・ソース
ここで、リンクのURLの後ろにSIDという記述がされています。
セッションがスタートすると同時に、ユーザーにセッションID(一般生活に例えると会員証みたいなもの)が発行というものが付与されます。
本来なら、そのセッションIDの情報がクッキーに保存されますが、もし、クッキー未対応のユーザーの場合は、URLの後ろ(QUERY_STRING)に情報を持たせ、それでセッションIDを保持することになります。ブラウザのクッキーをOFFにして、以下のスクリプトを実行されればご理解頂けると思います。



オススメ!PHPが使える格安レンタルサーバーのご紹介

【格安】月々833円で独自ドメインも使える! (株)ジェイナビ
PHPが利用可能で値段が月々833円という格安のレンタルサーバーです。SSHでのアクセスも可能な上、MySQLも使えるので、ちょっとしたデータベース系のサイトの構築も可能です。充実したコントロールパネルや、無制限のPOP3アカウントなど、レンタルサーバーとして基本的な機能も揃っています。

3,000台超のサポート実績を誇る最強の専用ホスティング!
AT-LINK専用サーバ・サービス
Click Here! (株)リンク
本格的なWebサイトの運用を考えている方や法人の方には、専用サーバーがお勧めです。専用サーバーとは、1台のサーバーを1人のユーザーのみで運用が出来るサービスで、100人前後で切り分けて利用するレンタルサーバーに比べて安定した運用が可能になります。ページビューが多いサイトや、プログラムを使った高負荷なサイトに最適です。 (2003/06現在) Click Here! Click Here!

オススメ!分かりやすいPHP関連書籍を最短24時間でお届け!




  PageTop   
ホームページ制作
Copyright© 2003 1kara.net All right reserved.
[PR]おすすめコンテンツ:
iアプリ検索ゲーム通販転職自動車保険無料着メロゲーム攻略郵便番号検索ショッピングモール健康食品ダイエット年収
オンラインショップ「買っ得.com」
  ブランド品 販売(グッチ・ティファニー)美容健康 ダイエット サプリメント販売CD DVD 販売ゲームソフト 攻略 本 雑貨 インテリア英語教材 英語学習
豆乳クッキーダイエット自動車保険 口コミ通販化粧品 口コミダイエット 口コミ
画像カウンター