コンテンツへスキップ

目下、ログイン認証を作成中で
一連の動作を一通り辿るのに
実際のファイルのコードは
「PHPしっかり入門教室」に
ほぼ忠実だ

PHPしっかり入門教室

しかし細かい部分で
凄く参考になってるのは
「PHP7+MariaDB/MySQL マスターブック」

PHP7+MariaDB/MySQL マスターブック

6冊の中で最も懇切丁寧で
ちょっと回りくどいくらいの解説でも
理路整然と展開するので
どうしてそうなるのかって部分を
なるほど~と理解し易い!

また実際にレンタルサーバで
WEBサイトを作成する際に必要な
例えば.htaccessの記述の仕方とか
端折らずに詳述されてて
初心者に限らず、中級・上級者でも
どれか1冊を選ぶならこれ!!

でも「PHPしっかり入門教室」の方が
「~マスターブック」よりも実践向きかな?

初心者を対象としてるくらいだからか
コードが小出しに出てきて
親切な解説があるので
一連の動作に必要なファイル群を
途中でうんざりせずに作成できるるる~

そんなワケで
これからログイン認証をするために
新たに作るファイルは
コントローラのlogin.php(p233~)と
表示画面のlogin_view.php(p234~)の
たった2つだ

でも初心者が一気に作成するには
かなり長々とコードを書かねばならず
根気が試される場面だろうが
小出しに書き足してくような流れなので
ちゃんと1つ1つのコードを
理解しながら書き進むコトができて
飽きずにファイルを作成できると思われ

login.phpのログイン機能の装備の解説は
自分には苦手なセッションについて
とてもわかり易く書かれてたし
最後に完成したコードを
全体を通して詳説されてるのが
とてもよかった^^

後はこれでめでたくログインできればOK

しかしログインするドコロか
login.phpを表示しただけでエラーw

htmlEscape なんて関数は無いってwww

そうだよね、自分も書きながら
あれ?そんなのだったっけ???って
頭から?マークが放出したもんね
html_escape だったよね~

書き直したら
ログインページがちゃんと表示されて
ログインできたぽい・・・

ぽいけど
飛び先のページ(member.php)が
まだ無かったから
今度はWordPressからエラー^^;

ページが無いって><

まあでもできた^^

ログイン認証を実装するために
まずは以下の書籍に従って
MySQLにテーブルを作成して
設定ファイルや関数ファイルを用意

PHPしっかり入門教室

お次は登録画面

コントローラのsignup.php(p226)
表示画面のsignup_view.php(p227)

ここまでやればブラウザに
signup.phpが表示できそうだ

できた^^

この後、更に既存ファイルの
db_helper.phpに以下を追記

・メールアドレスの重複を調べる関数(p227)
・入力データを挿入する関数(p228)

signup.phpにも以下を追記

・バリデーション機能(p228)
・データの挿入コード(p229)

ここまでの登録画面ができたら
ユーザをテスト登録してみて
データベースに反映されてるか確認

登録はできた^^

しかし同じメールアドレスでも登録できた><

メールアドレスの重複を調べる関数の部分に
スペルミスがあった^^;

修正してから
再度、同じアドレスで登録しようとしたら
ちゃんと「このメールアドレスは既に登録されてます」と
エラーが返ってきて登録できなかった

次はやっとlogin.phpだ!

ここまでの課題をこなすのに・・・

1、PHPの本6冊のその課題の部分だけ
次々と読んでは
気付いたりしたコトをメモ(紙)

2、最も課題に適してるプログラムを選んで
実際にテスト

3、上手くいったら
その経過、コード、表示画面を
ブログにアップ

と、そんな手順で進めてたが
クッキーとセッションについては
最も初心者用と思われる
「誰もがあきらめずにすむPHP超入門」と

誰もがあきらめずにすむPHP超入門

自分から見ると最も難易度が高く感じる
「はじめてのPHPプロフェッショナル開発」には

はじめてのPHPプロフェッショナル開発 PHP7対応

なんと該当ページが無かった!!

でもセッションはログイン認証には必須なので
ログイン認証の項目を探すと
「~超入門」では最後に
「なんちゃってSNS」を作成する項目があるも
確かにログイン認証をしてはおらず
SNSってか、要はBBSだったw

そして「~プロフェッショナル開発」の方は
CakePHPのAuthコンポーネントを使って
ログイン画面の実装をしてた!

個人的にCakePHPはもう古いと思ってたので
最新の(2019年3月に出てる)
最も難易度高い(と感じる)教則本に載ってるってのは
度肝を抜かれた^^;

CakePHPやLaravelなんかを使った方が
セキュリティ的にも良さそうだけど
それやっちゃうとPEARに頼ってた時と同じで
PHP自体がおざなりになる気がするので
フレームワークやライブラリ使わず
実装していこうかと・・・

クッキーとセッションについては
たまたま続けて以下の書籍のコードを
使用ってか、参考にしたので
ログイン認証もこの本の通りにやってみよう^^

PHPしっかり入門教室

p221にある通りに
MySQLにmembersテーブルを作成

この後、今までの自分流のやり方だと
データベースにテストアカウントを直に登録して
いきなりlogin.phpを作成して
一先ず、ログインできるか確かめてたのだが
今回はその前に設定ファイルや関数ファイルを用意

設定ファイルconfig.php(p223)

define('定数', '設定した値');ってのは
XOOPSで表示名を変更するのに弄ったわ、なるほどね

そして関数ファイルときたら
function.phpだと決めつけて
そう名前をつけた空ファイルを用意して
次のページ(p224)へ進んだら
なんと2つのファイルに分けて使うってコトで
db_helper.phpとextra_helper.phpだった・・・バタリ ゙〓■●゙

で、次こそlogin.phpかと思いきや
signup.php・・・ヾ(・_・;)ぉぃぉぃ

長くなり過ぎるから続きは次回だ