ブロック ブロック

Blog

卒業生インタビュー

Hope for the best, but expect the worst.

無料PHPスクール⑯~6日目:会員管理サイト(member)

   

  • ●「会員管理サイト(member)」では、今まで学んだ(使った)技術をもとに、「入力」「確認」「表示」を伴った(比較的)大規模なアプリを作ります。また、「クラスの応用」と「複数に分割されたファイル」について学びます。テンプレートファイルも数多く使用し、非常に多くの「クラス」と「関数」に触れることになります。無料PHPスクールが始まって、まだ日も浅く、初日の基礎もまだ記憶に新しいと思いますので、一つ一つの総復習(まとめ)として行うようにしてみてください。
  • 以下の2点を意識するとエラーが少なく済みます。 ・データベース関連のファイルを、特に丁寧に書き写す(写経する) ・テンプレートファイルを丁寧に書き写す(写経する) また、各データが適切なディレクトリにないとエラーが起きるので注意!
  • ●「confirm.php」というファイルが一番長いので、confirmを越えたら勢いに乗れると思います。最も大変な山場となりますが、これを越えたらゴールが見えてきます。ぜひ、頑張って乗り切りましょう!
  • ●オブジェクト指向で会員登録フォームの作成 ・オブジェクト指向のメリット:元ファイルの変更すればすべてに適用されるため修正が容易 ・conf.php 各データベース項目を定数で定義 ・database.class.php データベースの関数を定義 ・Common.class 各入力フォームのエラーチェック関数を定義 ・initMaster.class.php 各フォームの選択項目を定義 ・confirm.php 入力フォームに上記class.phpで定義した関数を適用していっている。$modeにPOSTされてきた値がconfirm、back、completeのどれかに分類される。case” ”で各modeの定義を行ない最終的に指定したtplファイルに飛ぶ。case”complete”のtrueだけはcomplete.phpに飛ぶ。 ・<エラー注意点>:これまでのように具体的なエラーが表示されない場合がある。エラーが出ない内容により、定義しているコードやその関数を出力している場所にエラーがないかを確認する必要があるため、データ遷移を理解しコードを読み解けるように繰り返し復習する!
  • ●プログラミングする順番 DB作成 Database.class.php:データベース関係のクラスファイル ↓ initMaster.class.php :日付や各選択肢などを設定するファイル Common.class.php :エラーチェックなどに使う、共通関数を格納したファイル regist.php :登録ページの表示 regist.tpl :登録ページ ↓ confirm.php :エラーチェック、確認ページ、戻る対応のプログラムファイル confirm.tpl :確認ページ conf.php :設定ファイル ↓ complete.php :完了ページの表示 complete.tpl :完了ページ ↓ list.php :登録されたデータを一覧で表示する list.tpl :一覧ページ ↓ detail.php :一覧ページで選択されたデータの詳細を表示する detail.tpl :詳細ページ ↓ postcode_search.php :入力された郵便番号を元に、データベースから住所を取得するプログラムファイル common.js :郵便番号検索ボタンが押された時、入力された郵便番号を取得し、postcode_search.phpを呼び出すJavaScript(c:\xampp\htdocs\js) style.css :エラーのとき、文字を赤くする
  • ●保存場所 ・プログラム(PHP) :c:\xampp\htdocs\member ・JavaScript :c:\xampp\htdocs\js ・テンプレート(HTML) :c:\xampp\htdocs\templates\member ・スタイルシート(CSS) :c:\xampp\htdocs\css
  • ●DB ・tynyint(1):~という定義なら、0か1となる ・unsigned:正の値のみ ・datetime:日付を入れる型の定義 ・LOAD DATA LOCAL INFILE “c:\xampp\htdocs\member\KEN_ALL.CSV” INTO TABLE 説明)`postcode` TERMINATED BY ‘,’ OPTIONALLY enclosed bt ‘”’ →KEN_ALL.CSVファイルを “POSTCODE”のテーブルに読み込む
  • ●JavaScript ・var zip1=$(‘#zip1’).val(); →~ならば、regist.tplの中の#zip1の値が入ってくる ・return false:処理をここで止める ・#.ajax:非同期処理の定義(通常は上から順に行われるが、この定義によって非同期に処理がされる) ・scuess ajaxの結果が入っている(これは決まり文句)
  • ●PHP ・date(‘Y’):西暦をとってくる ・static:インスタンスを作成しなくても使用できる 例)$trafficArr = initMaster::getTrafficWay(); (注:CLASS定義がpublicであること) ・sprintf:フォーマットした結果を変数に入れる 例)$kekka=sprint(“%02d”, $i ):$iが0~9なら00~09となって$kekkaに入る 例) %04d…4ケタの整数を0で埋める、1の場合は0001と表示する ・strtime:1970年1月1日からの秒数が入る(未来日付判定に用いる) ・strlen:引数の文字列をカウント(文字列のバイト数を返す。文字数ではない) 例)abc→3、あcb→4となる ・is_array:配列かどうかを判定 ・list:配列を分割してセットしてくれる ・implode:配列を結合する(explodeの逆) ・Varchar:文字列型 ・tiniint:intと同じ整数型だが0か1しか取れない ・primary key:重複しない ・header:Location 以下のURLに飛ばしてくれる

 - 学習アドバイス

  関連記事

  おすすめ記事