ユーザー登録(入力)ページ(entry.php)から渡された新規ユーザーのデータはセッション配列$_SESSION['join']に格納されていますので,それをこのページ(check.php)でデータベースのmemberテーブルにに登録します。
登録が完了した時には次のような表示を行うようにプログラミングしてみましょう。
PHPスクリプト:check.php
11行目のissetは変数が存在するかを確認するための関数です。従って,if(!isset($_SESSION['join']))は,変数$_SESSION['join']が存在しない時にTRUEとなり,12行目のheaderで入力ページ(entry.phpに強制移動されます。
entry.phpでは,$_POSTを$_SESSION['join']にそのまま代入したため,その内容はフォームで入力したnameごとの連想配列になっています。
従って,入力内容を取り出すには$_SESSION['join']['○○'](○○の内容はフォームのinputタグにおけるname="○○")となります。
最後にどこかでセッション情報が再使用されてしまわないよう,$_SESSION['join']を消去します。
一応これで新規ユーザーの登録ができることになる訳ですが,現状では次の問題が残っています。
2については最後にまとめて実施することにして,ここでは1の対策を施してしまいましょう。これは,同じ名前のユーザーがいないかどうか,INSERT文を発行する前にSELECT文で検索しておき,同名ユーザーがいない場合のみ,INSERT文で登録を実施するようにcheck.phpを改変することで対策が完了します。
一例として,下記のように17行目以降を書き換えて,18行目~25行目のようにSELECT count(*)を実行してみましょう。これは同名ユーザーが存在している場合(WHERE name="ユーザー名"に合致)は,1以上の値が返ってくるというSQL文です。
check.phpの改良箇所
 
	実際に,既にデータベースに存在しているユーザー名で登録してみると,
のように表示され,登録ができないようになっている筈です。