我有一个供应商的登录页面。在供应商登录后,他们重定向到vendor_dashboard ..我获得了带有仪表板链接的供应商ID ...我在仪表板页面中获得了该特定的供应商名称..
在供应商仪表板中.vendor有一个名为candidate的选项卡..当他们点击该选项卡时,他们会重定向到add_candidate page..so当供应商提交表单时我想将该vendor_id存储在候选表中。
在candidate_table中有一列名为vendor_id..after submit我想为该特定候选人存储该vendor_id ..
我正在尝试这样做..从过去的6个小时开始..但它不存储.. 问题是我没有得到任何关于如何做到这一点..
登录页面:
if($this->input->post())
{
$user = $this->LoginModel->login($this->input->post());
if(count($user)>0)
{
$data = array(
'user_id' => $user['user_id'],
'first_name' => $user['first_name'],
'email' => $user['email'],
'password' => $user['password']
);
$this->session->set_userdata($data);
if($user['user_type_id'] == '1')
{
// redirect(base_url('index.php/Login/vendor_dashboard/'.$data['first_name']));
redirect(base_url('index.php/Login/vendor_dashboard/'.$this->session->user_id));
}
elseif($user['user_type_id'] == '2')
{
// (base_url('index.php/Login/user_dashboard/'.$this->session->user_id));
}
else
{
redirect(base_url('index.php/Login/dashboard'));
}
}
控制板:
<?= ($this->session->first_name)? $this->session->first_name : "" ?>
任何人都可以帮助我..
提前致谢..
答案 0 :(得分:1)
您的问题与此post有关。无论如何,这是你可以做的。首先使用用户控制器进行身份验证,或者将其命名为登录或任何您熟悉的
class Users extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('user_model');
}
public function index()
{
$data['title']='Vendors Application';
if($_POST)
{
$user=$this->user_model->checkUser($_POST);
if(count($user)>0)
{
$this->session->set_userdata($user);
redirect(base_url().'dasboard/vendor');
}
}
else
{
$this->load>view('login',$data);
}
}
}
在用户模型中检查数据库中的用户的功能如下
public function checkUser($data)
{
$st=$this->db->select('*')->from('users')
->WHERE('email',$data['email'])
->WHERE('password',md5(sha1($data['password'])))
->get()->result_array();
if(count($st)>0)
{
return $st[0];
}
else
{
return false;
}
}
登录并重定向到仪表板后,使用仪表板控制器或任何您可以调用它的方式添加候选项。
class Dashboard extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('user_model');
}
public function vendor()
{
$data['title']='Vendor Dashboard';
if($_POST)
{
//validation
$this->user_model->addCandidate($_POST);
$data['success']='Candidate Added Successfully';
$this->load->view('vendor_dashboard',$data);
}
else
{
$this->load->view('vendor_dashboard',$data);
}
}
}
用户模型中添加候选项的功能如下。
public function addCandidate($data)
{
$candidate=array(
'user_id'=>$this->session->userdata['id'],
'first_name'=>$data['first_name'],
'last_name'=>$data['last_name'],
'address'=>$data['address'],
'contact'=>$data['contact']
);
$this->db->insert('candidates',$candidate);
return $this->db->insert_id();
}
请记住,当您登录并在会话中存储其记录时,您的会话中已有供应商ID,因此无需向控制器URL发送任何ID以加载仪表板。
我希望您了解CI表格验证,如果没有,请找到它here