login.php, home.php, list.php を書き換え、ログイン状態をページ間で保持できるようにしなさい。具体的には、画面上にログイン状態のユーザのユーザ名を表示すること。
http://localhost/php-session-ユーザ名/login.php
から、一連のページがたどれること。
余裕のある人は、index.php を参考に、パスワードを直接保存するのではなく、password_hash, password_verify
のペアでパスワードをハッシュ化して保存してみよう。
http://localhost/php-session-ユーザ名/session.php
に接続し、
- POST では、送信した直後しかデータが保存されないこと
- SESSION では、ページを移動しても情報が保存されていること
を確認しよう。
全くデータが送信されていない状態で(つまり PHP ファイルの一番最初で)、session_start()
を呼ぶ。
これによって、最初に、クライアント側に「セッションクッキー」と呼ばれる小さなデータが保存される。このクッキーに対応したデータが、サーバ側に保存される。このクッキーを持っているクライアントが接続してくると、以前セッションを開始したクライアントであると判断され、データにアクセスできる。
クライアント側にデータが直接保存されないのはなぜか、考えてみよう。