アプリケーション
セッションとはサーバーとクライアントとの一連のやりとりのことです。 どのユーザーがアクセスしてきているのか、あるいはこれまでにどのような情報のやり取りが あったのかといったことを判断します。 このようなサーバーとクライアント間の情報を管理・保持することをセッション管理と言います。
サーバーはリクエストがあったクライアントに対して、セッションIDというものを だし、それをクライアント側に保存させます。 サーバーはセッションIDとクライアントとのやり取りの情報を保存します。 次回、クライアントがそのサーバーに接続した際に、セッションIDにより それまでにやり取りした情報や記録を保持したものを引き継ぐことができるのです。 セッションとクッキーの違う点はクッキーはクライアント側で情報を保存しますが セッションではサーバー側が情報を保存します。
セッションを利用するためにphp.iniに以下のような設定をしましょう。 任意のディレクトリは実際に作成してディレクトリ名を書きましょう
session.use_trans_sid = on session.save_path = 任意のディレクトリ
実際にセッションの使用例を見てみましょう。 「session_start();」と書くことでセッションを初期化し使用します。 以下のPHPスクリプトを実行してみましょう。 登録確認画面においてもセッションが保たれていることが確認できると思います。
<html> <head><title>session.html</title></head> <body> 商品登録 <form action="regist.php" method="post"> <table> <tr> <td>商品名</td> <td><input type="text" name="syouhin"></td> <td> <input type="submit" value="登録"> </td> </tr> </table> </body> </html>
<?php session_start(); ?> <html> <head><title>regist.php</title></head> <body> <?php $syouhin = $_POST['syouhin']; $_SESSION['syouhin'] = $_POST['syouhin']; print("次の商品を登録しました<br />"); print("商品:$syouhin<br />"); ?> <a href=regist_check.php>商品の確認</a> </body> </html>
<?php session_start(); ?> <html> <head><title>regist_check.php</title></head> <body> <?php print ("登録済み:<br />"); print ($_SESSION['syouhin']."<br />"); ?> <a href=session.html>追加登録</a> </body> </html>
実行結果を見る