所以,我有一些问题。
我只想创建一些网站,访问者可以在注册时与我的网站进行互动。 让我们说他们已经提供了他们的用户名,电子邮件,密码,blah..blah..blah ...... 然后他们提供了他们的blah..blah..blah ..它将自动登录(如果他们的数据被传递)到我的网站。 他们登录我的网站后,他们必须再次提供更多数据,比如他们上传了他们的个人资料图片,他们如何控制我们网站的隐私,例如一步一步注册。
我不希望他们与我的网站互动,直到他们完成注册。 如何使我的网站中的每个页面看起来像注册页面,直到他们完成注册。 这并不是说我会正确地发挥这种功能。
if(is_login()){
if(is_registration_complete()){
//you're free to go
} else {
// complete your registration first
}
} else {
//you're not logged in
}
在我的每个控制器中,如果你知道我的意思:)
如何创建全局此函数? 如果他们的注册不完整,他们将在每条路线上到注册管理员处。 如果他们完成注册,他们会去,是的你知道默认路线。
我很抱歉,如果我的英语不好,英语不是我的母语,抱歉语法错误:)
答案 0 :(得分:0)
最简单的可能是使用您的检查功能创建一个库,然后将其包含在受影响的ControllerS的构造函数中:
class Blog extends CI_Controller {
public function __construct()
{
parent::__construct();
// Load the lib here or Autoload
$this->load->library('mylogincheckhelper');
$this->mylogincheckhelper->is_complete();
}
}
然后你在Lib中做所有的ckecks和路由。
答案 1 :(得分:0)
您可以通过extend the core CI_Controller创建自定义控制器。然后,您可以从自定义控制器扩展页面控制器。通过扩展,您可以继承父项的功能,也可以运行父构造函数(或者在覆盖它的情况下运行它),使它们对于扩展它的人来说“全局可用”。
//extend the core controller
class MY_Controller extends CI_Controller {
//override to provide additional functionality
public function __construct(){
//run the core controller
parent::__construct();
//then do your login and registration checks here
//you can put code here, call another function or load a helper class
//or better, redirect them to your registration page
}
}
//your page's controller extending from your custom controller
class Page extends MY_Controller {
//not overriding the constructor will execute the parent constructor
//every page that extends your extended controller will inherit it's functions
//and execute it's constructor
}
答案 2 :(得分:0)
使用您的注册后内容创建一个视图,并使其有条件地可见。并在模板中包含视图。