Wednesday, January 31, 2018

PHP 使用 PDO 讀取 MySQL , 判斷登入帳號

PHP 使用 PDO 讀取 MySQL , 判斷登入帳號完成....(雖然寫得不是很漂亮)

原理:
一支 PHP 程式, 用 POST 送登入訊息給自己, 所以程式剛開始先判斷有沒有 POST 資料, POST 資料有"動作"一項, 分為 登入 跟 登出 , 再呼叫對應的 function , 如果是登出, 則清除相關變數, 再 refresh 自己, 如果是登入, 再比對輸入是否正確, 讀取 MySQL 如果帳號檔可以查到, 表示帳號密碼正確, 並把帳號另外存在變數內.

如果沒有 POST 資料, 則比對變數內是否有帳號資料, 如果有, 就 require 主選單, 如果沒有, 則呼叫 function login() ; 顯示登入畫面.

沒有寫得很漂亮的地方在於:
1. 變數有點多, 又分在 $_POST , $_SESSION , 還有一些是 global 以便 function 取用, 沒有寫完整規格書. (感謝以前的同事幫忙發現我概念不足.)
2. 以前用 mysql 直接呼叫, PHP7 改用 mysqli , PDO , 有些語法已經忘掉(60%)或不合用(40%), 所以乾脆重學 PDO ....
3. 對陣列處理的不熟悉....