繁体   English   中英

CodeIgniter-每个页面上的登录表单

[英]CodeIgniter - Login form on each page

我在尝试用CodeIgniter编写应用程序时遇到了一个小问题,基本上我想在站点顶部的每个页面上都有一个登录表单,但是我发现很难用验证功能弄清楚逻辑。

根据我的理解,验证规则(set_rules)必须从控制器设置,现在,如果我希望在每个页面上都有一个登录表单,这是否意味着我必须在我编写的每个控制器上都设置规则? 这似乎有点奇怪。 我可以从视图内部设置验证规则吗?

我目前所拥有的是登录框的一个视图,我从视图中使用

<?php $this->load->view('includes/members_login'); ?>

命令。

任何帮助或指导,这将是巨大的....即时通讯相当卡住。

干杯,

不,您只需要在接收/处理登录表单的控制器功能中设置规则。 我通常会保留一个专用的“ Auth”控制器来执行相关操作,例如登录/注销/重置密码/等等。

对于布局,您可以仅将其包括在consentant标头中,而只需将表单指向处理登录的controller/function

但是对于登录表单,我不确定为什么要“验证”它们。 用户/通行证匹配,或者不匹配。

我认为您应该通过javascript尝试使用AJAX之类的方法来验证任何用户登录名。 基本上,登录按钮将由onclick事件处理,该事件将获取按钮的详细信息,并将其传递给进行验证的“ Auth”(或Login或UserAuth-由您决定)控制器。

我想到的一个主意是为所有页面创建基本布局,然后加载其中的5,6个其他文件并为每个页面构建视图。 其中的某些部分将在每个页面上调用,例如标题,导航...,因此您可以在这些部分中使用登录表单,并将在每次请求时加载该表单。

如果您确实希望每个页面都有登录表单,则可以创建自己的My_Controller并在构造函数中进行表单验证。 或者,如您所说,您也可以在视图中进行操作。 CI不会强制遵守MVC。 如果将代码放到您的视图中可以加快开发速度并简化维护,则没有理由不这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM