### 用戶登錄
我們按照一個個的功能模塊來逐一講解,在講解功能模塊的時候串聯起TP5的模型、控制器和視圖。因為在做項目的時候也是一個個功能模塊的來完成的,牽涉到哪些模型、控制器、視圖再來完成這些相應的內容。本功能位于Index模塊中,具體目錄布局如下圖所示:

可以看出,控制器中有一個Account.php,該控制器負責所有與用戶賬戶相關的邏輯,當然,用戶登錄邏輯function login()也在其中。
登錄頁面視圖放在View文件夾下的Account子文件夾里,頁面名稱為login.html。和控制器中的登錄處理函數function login()相互對應。
涉及到的模型放在項目根目錄下的Model文件夾中(放在根目錄下Index和Admin模塊都可以方便的調用,具體原因見[項目目錄規劃](http://www.hmoore.net/lyconier/stepbystep/238463)節)。

所有面向用戶的系統都需要用戶登錄模塊,這是項目開發初始階段會遇到的一個還不算小的“坑”。首先,**前端界面**要做的不難看,當然做好看點也可以。其次,用戶輸入的內容要做到**前后端的驗證**,前端的驗證主要是為了界面的友好性,使用JavaScript,后端的驗證則是為了保證系統的安全性,使用TP5模型的Validate來驗證。最后才是**使用控制器來完成用戶登錄的主體功能**。
這部分的章節內容主要有:
[1、界面/視圖](http://www.hmoore.net/lyconier/stepbystep/240541)
[2、前端驗證](http://www.hmoore.net/lyconier/stepbystep/240544)
[3、涉及的模型](http://www.hmoore.net/lyconier/stepbystep/240545)
[4、后端驗證](http://www.hmoore.net/lyconier/stepbystep/240546)
[5、控制器邏輯](http://www.hmoore.net/lyconier/stepbystep/240547)
[6、路由設計](http://www.hmoore.net/lyconier/stepbystep/240717)