Mysql 将会话id存储在codeigniter中的另一个表中
我有一个供应商登录页面。供应商登录后,他们重定向到供应商仪表板。在那里,我通过仪表板链接获取供应商id。我在仪表板页面中获取特定的供应商名称 在供应商仪表板中..供应商有一个名为“候选人”的选项卡..当他们单击该选项卡时,会重定向到“添加候选人”页面..因此,当供应商提交表单时,我希望将该供应商id存储在“候选人”表中 在候选者表中有一列名为vendor\u id.。提交后,我想为该特定候选者存储该vendor\u id 我正试着这么做…从过去的6个小时…它仍然没有储存。。 问题是我不知道怎么做 登录页面:Mysql 将会话id存储在codeigniter中的另一个表中,mysql,codeigniter,Mysql,Codeigniter,我有一个供应商登录页面。供应商登录后,他们重定向到供应商仪表板。在那里,我通过仪表板链接获取供应商id。我在仪表板页面中获取特定的供应商名称 在供应商仪表板中..供应商有一个名为“候选人”的选项卡..当他们单击该选项卡时,会重定向到“添加候选人”页面..因此,当供应商提交表单时,我希望将该供应商id存储在“候选人”表中 在候选者表中有一列名为vendor\u id.。提交后,我想为该特定候选者存储该vendor\u 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 : "" ?>
有人能帮我吗
提前感谢。您的问题与此有何关联。不管怎样,这里是你能做的。首先,使用用户控制器进行身份验证,或者将其命名为登录,或者任何您喜欢的方式
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;
}
}
登录并重定向到dashboard后,使用dashboard Controller或任何您喜欢的名称添加候选人
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登录并将其记录存储在会话中时,您的会话中已经有供应商id,因此无需向控制器url发送任何id来加载仪表板
我希望您了解CI表单验证,如果没有,请在仪表板中找到它。我喜欢这样做。获取会话userdata就像$this->session->userdata'firstname'一样。也请阅读此“使用完整”加载模型和此确定。那么我们如何将会话id存储在另一个表中???@user3663不使用md5使用密码和