コントローラー admin.php を作成しました。dashboard() メソッドで記述されたダッシュボード ページを読み込もうとすると、ページが見つからないというエラーが表示されます。私がcodeigniterを初めて使用するのを手伝ってください。
これはコントローラです: admin.php
<?php
class admin extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->xajax->register(XAJAX_FUNCTION,array('loginSubmit',&$this,'loginSubmit'));
$this->xajax->processRequest();
}
function index()
{
$template['xajax_js'] = $this->xajax->getJavascript(base_url('xajax_js'));
$this->load->view('admin/index',$template);
//$this->dashboard();
}
public function loginSubmit($formData)
{
foreach($formData as $id=>$field)
{
$_POST[$id]=$field;
}
$objResponse=new xajaxResponse();
$loginData['username']=$this->input->post('uname');
$loginData['password']=$this->input->post('password');
$response=$this->munafa_model->login($loginData);
if($response)
{
//$this->dashboard();
$objResponse->alert("login");
//$objResponse->redirect("admin/dashboard");
$objResponse->script("window.location='admin/dashboard'");
}
else
{
$objResponse->alert("Invalid Login Credentials.");
$objResponse->script("window.location.reload();");
}
return $objResponse;
}
public function dashboard()
{
$template['xajax_js'] = $this->xajax->getJavascript(base_url('xajax_js'));
$this->load->view('admin/header');
$this->load->view('admin/dashboard',$template);
$this->load->view('admin/footer');
}
}
?>
インデックスメソッドを呼び出したときにダッシュボード機能が機能していますが、ログインが成功した後は機能しません。loginsubmit メソッドの else 部分が実行され、if 部分からもメッセージが返され、ページがリダイレクトされないだけで、ページが見つからないというエラーが発生します。
モデルの方法
public function login($loginData)
{
$table_name="admin_login as al";
$this->db->where('al.username',$loginData['username']);
$this->db->where('al.password',$loginData['password']);
$this->db->select('al.*')->from($table_name);
$query=$this->db->get();
if($query->num_rows==0)
{
return false;
}
else
{
$row=$query->row();
$this->setSessionData($row);
return true;
}
}