21-2. 総まとめ②ソーシャルネットワーキングの設計 続
今日は、サイトのページに統一感を持たせるための、プロジェクトの各ページから同じ機能セットにアクセスするファイルと、諸々の設定をします。
んで、昨日もたついた部分の復習を別記事でやります。
1-1. header.php
プロジェクトの各ページから同じ機能セットにアクセスできるようにするため、header.phpを作成します。
header.phpは実際に他のファイルによってインクルードされ、functions.phpをインクルードするファイルです。
これは、各ファイルでは1つのinclude(header.phpをインクルードするだけでok)ということを意味します。
◎header.phpのコード
冒頭のsession_start関数の呼び出しからスタートします。これは、異なるPHPファイルの間で保持しておきたい値を覚えておくとセッションを開始する関数です。
その次にセッション変数'user'に今、値が代入されているのかを調べて代入されている場合はログインしているとみなして、変数$loggedinをTRUEに設定します。
if..elseを使用して条件分岐させて、ログインしていない場合はhome、sign up、loginリンクだけ表示させて、ログインしてる場合は、他の機能にもアクセスできるようにします。
(若干成長したような気がするのは、一応コードの意味がわかる。。。。)
1-2. setup.php
次はインクルードされる2つのファイル(functionsとheader.php)が使用するMySQLテーブルの設定を行います。
◎setup.phpのコード
このファイルは結構シビアに入力しないとmysqlエラー地獄に陥ります。
作成するテーブルは以下の名前と列を持ちます。
・members
ユーザー名用のuser(インデックス化)とパスワード用のpass
・messages
ID用のid(インデックス化)と作成者用のauth、受信者用のrecip、メッセージのタイプ用のpm、メッセージ用のmessage
・friends
ユーザー名用のuserと友人のユーザー名用のfriends
・profiles
ユーザー名用のuserと"about me"のテキスト
1-3. index.php
プロジェクトのホームページを作成します。
ここにユーザーがきて、サインアップを訴求する場所になります。
◎index.phpのコード
次はちょっと復習の回をもうけますー