PHP入門

セッション

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Cookieと同様に、情報を一時的に保持しておくことができるのがセッションという仕組みです。Cookieに比べて、安全性高く、大量の情報を保持しておくことができます。ここでは、セッションの使い方を紹介しましょう。
講師:
10:36

字幕

続いてセッションというものを紹介していきます。セッションは先程ご紹介したクッキーと似た関係を持っていてるんですけれどもクッキーは Web ブラウザの機能ですがセッションは基本的には PHP の機能になります。セッションはクッキーに比べてもっと一時的に情報を保持しておくことができるという機能です。但し、クッキーよりも大量の情報を保存したり、安全性を高く情報を保持することができますのでクッキーとの違いやそのセッションの使い方というのをここでは、ご紹介していきたいと思います。ではファイルを1つ作りましょう。MAMP のアップロード先フォルダーMAMP の htdocs にフォルダーを1つ作ります。ここでは lesson04-05 としましてここにテンプレートファイルをコピーしていきます。index.html は、そのままのファイル名で構いませんのでDreamWeaver で編集をしていきます。「セッション」といったような簡単な title を付けましてここでは名前を入力できるform を作りたいと思います。method として post とします。そして label として「名前」としましょう。 そして input type を text名前を myname としてsize を 35 とします。では、value を「送信する」という送信ボタンも設置してこれで form は完成です。ではMAMP を起動してApache が起動していることを確認したらWeb ブラウザからlesson 04-05 にアクセスしてみましょう。名前を入力するテキストボックスが出来上がっています。では、このボタンを送信した時に次の画面で、その入力した名前を表示するにはどうしたらいいでしょうか?これは既にレッスンでやりましたけれども新しいファイルを作ってPHP を作ります。内容をすべて削除した後、こちらの HTML をコピーしてcontent の内容を消し、ここに、例えば「あなたの名前は『」ということで、ここに表示していきます。どうなるかと言いますと print ですね$_POST の myname「』ですね」としましょう。ここまでは普通のフォームのやりとりですので既に理解しているのではないかと思います。lesson04-05 にinput_do.php という名前で保存しindex.html の方からもinput_do.php に接続をします。 では、こちらで動きを確認してみましょう。画面を再読み込みして、名前の所に「たにぐち」等と入力し「送信する」ボタンをクリックします。すると「あなたの名前は『たにぐち』ですね」と出るんですけどここからが次のポイントです。ここに例えば input_do からa 要素でリンクを貼ります。「次のページへ」としましょう。そして、次のページとして、また新しいファイルを1つ作ります。ここで内容をすべて削除し今の input_do.php をすべてコピーします。そして、こちらこのプログラムをそのままの内容にしてこのファイルを今度はthird.php という名前で保存しましょう。では、こちらからinput_do.php のリンク先としてはthird.php を指定することにします。この時 third.php へのリンクをクリックしたらこちらの画面にジャンプしてもう一度、自分の名前が表示されるというのが期待される動きです。ですが、Web ブラウザで確認するとこちらから名前を入力し送信します。「あなたの名前は『たにぐち』ですね」と出ているので「次のページへ」をクリックすると何故かここの括弧の中身は消えています。 ファイルとしてはthird.php なんですが、ここに表示されるべき内容が渡ってきていません。何故かと言いますと、実はこれはインターネットや Web サイトもしくは Web ページの特性なんですがWeb ページというのはこの form で入力した内容は一画面先までしか受け渡すことができません。つまりここでは、ここのフォームで入力した内容はsubmit ボタンを押した次のページここまでしか値を保持することができないんです。次のページへ行った時にここの名前というのはこの $_POST で受け取ることはできません。では一度受け取った内容をしばらくの間保持しておくためにはどうしたらいいかこの時、1つ前のレッスンでご紹介したクッキーを使うという方法もあります。しかし、クッキーというのは先程の通り、セキュリティ的に危険なことがあったりですとかもしくは大量の情報を保存するにはあまり適していないなどの特徴があります。そこで PHP として使える機能の1つであるセッションというのを使うとこれは非常にうまく解決することができます。では実際に、そのセッションを組み込んでいきましょう。まず input_do.php の先頭これもいままでのクッキーやそれから header ファンクションと同様にファイルの先頭に書かなければいけません。 ここに、この様に書いていきます。まず session_start というファンクションがあるんですがこれを記述します。そして $_SESSION ということでここに何かキーを付けます。ここでは myname としましょう。それに $_POST のmyname をセットします。これでセッションというものが使えるようになりました。では続けてスクリプトを組み込んでいきます。続いて third.php の先程までここが $_POST でしたがこの部分を $_SESSION['myname'] に変えてみます。スクリプトの解説は、この後じっくりとやっていきますのでまずは動きを確認してみましょう。一番最初の画面まで戻っていきます。再読み込みをして名前の記入する欄が出てきたらここに名前を記入します。「送信する」ボタンをクリックして「あなたの名前は『たにぐち』ですね」と出ましたら、「次のページへ」のリンクをクリックします。そして、このファイルにも、ファイルの先頭にsession_start という記述が必要になります。これでセッションがこのファイルでも使えるようになりましたので、実際に動きを確認してみたいと思います。 では Web ブラウザに切り替えて最初の画面まで戻ります。そして再読み込みをして名前を記入しましょう。「送信する」ボタンをクリックして「あなたの名前は『たにぐち』ですね」ということで次のページへリンクします。すると third.php にリンクをして「あなたの名前は『たにぐち』ですね」と表示されています。これがセッション変数というのを使っている状態です。この session_start そして $_SESSION という変数を使ってあげれば後は何個ファイルを移動してもずっと値を保持し続けています。では、その動きを改めて確認しておきましょう。まず index.html からinput_do.php というファイルへはこれまで通りです。form で $_POSTmethod が post ですのでpost の値として渡されています。この時、ファイルの先頭に少し複雑なスクリプトが組み込まれています。まず session_start というのはここでは決まり文句です。セッションを使い始めますというのを宣言するためにsession_start というファンクションを書く必要があります。これを書くと、それ以降で$_SESSION という特別なこちらの変数と言われるものを使うことが出来るようになります。 その中にキーを設定しここでは myname としましたがなんでも結構です。abc でもいいですし、xyz などでも結構ですが、ここでは分かりやすい様にmyname としましょう。その myname というセッション変数と言われるものなんですがこれに今、渡されてきたmyname の値をセットしました。これでセッション変数つまりセッションに記録されます。すると、後はリンクなどで次のページへジャンプしてもセッション変数は保持されたままになりますので改めて session_start ファンクションでセッションをスタートし$_SESSION という風に書けばそのセッション変数の内容を参照することができます。これによって、一時的に情報を保存しておくことができますので例えばログインしているメンバーのログイン ID であったりですとか入力した email アドレスなどをそのサイトにいる間ずっと保持し続けるというようなこともできます。尚、セッション変数はその Web サイトを出ていくまでの間つまり Web ブラウザを閉じたりですとか別の Web サイトに移動した場合などを除いてずっと保持されていますので、様々な場面で情報を保持するのに使うと良いでしょう。

PHP入門

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

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

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

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

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