我只是創建了登錄類,用於在用戶輸入他/她的主頁部分之後檢查有效用戶。但現在我需要有條件地更改用戶家中的目的地,無法在url重定向中附加切換大小寫。無法使用codeigniter中的回調重定向url
注:我覺得varibale不function.Plz正確地傳遞幫我
我的代碼如下:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class VerifyLogin extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('userp','',TRUE);
}
function index($dest)
{
$this->load->view('header');
//This method will have the credentials validation
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
if($this->form_validation->run() == FALSE)
{
//Field validation failed. User redirected to login page
$data['msg'] = "";
$this->load->view('login',$data);
}
$this->load->view('footer');
}
function check_database()
{
//Field validation succeeded. Validate against database
$email = $this->input->post('email');
//query the database
$password= $this->input->post('password');
$result = $this->userp->login($email,$password);
if($result!==FALSE)
{
$sess_array = array();
foreach($result as $row)
{
$sess_array = array(
'id' => $row->id,
'username' =>$row->email,
'fname' =>$row->first_name,
'lname' =>$row->last_name,
'pic'=>$row->pic
);
$this->session->set_userdata('logged_in',$sess_array);
}
switch($dest){
case 'NULL':{
redirect('home','refresh');
break;
}
case 'part1':{
redirect('subhome','refresh');
break;
}
case 'part2':{
redirect('subhome1','refresh');
break;
}
default :{
redirect('mainhome','refresh');
break;
}
}
return TRUE;
}
else
{
$data['msg'] = "Something Wrong Username/Password";
$this->load->view('login',$data);
//return false;
}
}
};
?>
$ DEST在指數($ DEST)已宣告但尚未在check_database(),這就是你的交換機試圖使用$ DEST。 –
如何通過檢查數據庫 – rbstack
如果編輯config/routes.php並添加諸如$ route ['check_database /(:any)'] ='verifylogin/database_check/$ 1'之類的路由並將check_database()更改爲check_database ($ dest),無論你在URL中輸入的是什麼(:any),都將作爲$ dest傳遞給check_database。 –