【发布时间】:2016-11-12 11:29:32
【问题描述】:
我想为管理员和用户创建不同的视图。我创建了一个名为 members 的页面,该页面将在用户成功登录后显示。但是如何为管理员创建另一个视图。
这是我的控制器:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Project extends CI_Controller {
public function index()
{
$this->login();
}
public function members()
{
$this->load->view('members');
}
public function singup()
{
$this->load->view('singup');
}
public function login()
{
$this->load->view('login');
}
public function login_validation()
{
$this->load->library('form_validation');
$this->form_validation- >set_rules('email','Email','required|trim|callback_validate_credentials');
$this->form_validation->set_rules('password','Password','required|md5');
if($this->form_validation->run())
{
$this->load->view('members');
}else{
$this->load->view('login');
}
}
function validate_credentials()
{
$this->load->model('Project_users');
if($this->Project_users->can_login_in())
{
return true;
}
else
{
$this->form_validation->set_message('validate_credentials','incorrect username/password');
return false;
}
}
public function singup_validation()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('email','Email','required|trim|valid_email|is_unique[users.email]');
$this->form_validation->set_rules('password','Password','required');
$this->form_validation->set_rules('cpassword','Confrim Password','required|matches[password]');
$this->form_validation->set_message('is_unique',"this email is already registed");
if($this->form_validation->run())
{
$this->load->model('project_users');
$this->project_users->add_temp_user();
}else{
echo "please singup";
$this->load->view('singup');
}
}
}
login_validation 成功后,用户将被移动到会员页面。同样,如果管理员登录,他应该被移动到管理页面。
这是我的模型。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Project_users extends CI_Model {
function can_login_in()
{
$this->db->where('email',$this->input->post('email'));
$this->db->where('password',md5($this->input->post('password')));
$query = $this->db->get('users');
if($query->num_rows() == 1){
return true;
}else{
return false;
}
}
public function add_temp_user()
{
$data=array('email'=>$this->input- >post('email'),'password'=>md5($this->input->post('password')));
$query=$this->db->insert('users',$data);
if($query){
echo "inserted";
}
else{
echo "colud not add to db";
}
}
}
我对 mvc 和 codeigniter 很陌生
【问题讨论】:
-
你想要什么?...请解释一下...
-
我想在管理员登录时创建另一个视图。例如,当管理员登录时,我应该将他重定向到管理页面。用户到成员页面@NikhilVaghela
-
如果你是 mvc 新手,请选择像 Laravel 这样的现代框架
-
@schellingerht 我不想告诉你这个问题,但是 Laravel 和 CodeIgniter 都与 MVC 无关。
-
@tereško 你是完全正确的......但你知道我的意思是:一个支持 MVC 的框架。
标签: php codeigniter