### 用户登录 我们按照一个个的功能模块来逐一讲解,在讲解功能模块的时候串联起TP5的模型、控制器和视图。因为在做项目的时候也是一个个功能模块的来完成的,牵涉到哪些模型、控制器、视图再来完成这些相应的内容。本功能位于Index模块中,具体目录布局如下图所示: ![](https://box.kancloud.cn/42beffda10e358a11b6052baf4890161_196x160.jpg) 可以看出,控制器中有一个Account.php,该控制器负责所有与用户账户相关的逻辑,当然,用户登录逻辑function login()也在其中。 登录页面视图放在View文件夹下的Account子文件夹里,页面名称为login.html。和控制器中的登录处理函数function login()相互对应。 涉及到的模型放在项目根目录下的Model文件夹中(放在根目录下Index和Admin模块都可以方便的调用,具体原因见[项目目录规划](http://www.kancloud.cn/lyconier/stepbystep/238463)节)。 ![](https://box.kancloud.cn/4104e731884ef1a10ece154754745a16_180x120.png) 所有面向用户的系统都需要用户登录模块,这是项目开发初始阶段会遇到的一个还不算小的“坑”。首先,**前端界面**要做的不难看,当然做好看点也可以。其次,用户输入的内容要做到**前后端的验证**,前端的验证主要是为了界面的友好性,使用JavaScript,后端的验证则是为了保证系统的安全性,使用TP5模型的Validate来验证。最后才是**使用控制器来完成用户登录的主体功能**。 这部分的章节内容主要有: [1、界面/视图](http://www.kancloud.cn/lyconier/stepbystep/240541) [2、前端验证](http://www.kancloud.cn/lyconier/stepbystep/240544) [3、涉及的模型](http://www.kancloud.cn/lyconier/stepbystep/240545) [4、后端验证](http://www.kancloud.cn/lyconier/stepbystep/240546) [5、控制器逻辑](http://www.kancloud.cn/lyconier/stepbystep/240547) [6、路由设计](http://www.kancloud.cn/lyconier/stepbystep/240717)