0

コントローラー 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;
    }
}
4

1 に答える 1

0

リダイレクトが正しい場所を指していると確信していますか?

$objResponse->script("window.location='admin/dashboard'");

これに SITE_URL を追加して、これで問題が解決するかどうかを確認します (URL ヘルパーをロードする必要があります)。

$objResponse->script("window.location='" . site_url('admin/dashboard') . "'");
于 2014-06-16T09:07:52.977 に答える