2012-01-20 40 views
18

Tôi đang cố gắng hướng người dùng đến trang chính của mình khi người dùng được ủy quyền. Tôi đang làm việc kiểm tra sử dụng trong điều khiển login_check của tôi và thêm $this->load->view('main'); Trang có thể tải nhưng địa chỉ trang web trong trang chính vẫn hiển thịchuyển hướng mã hóa sang bộ điều khiển khác nhau

http://myprojectname/login_check

nhưng tôi muốn nó hiển thị

http://myprojectname/main.

Tôi có phải tạo bộ điều khiển 'chính' mới và tải chế độ xem không? Nghe có vẻ dư thừa với tôi. Đây là mã của tôi.

một phần của tôi login_check.php

private function _user_check() 
{ 
    $this->load->model('user_query'); //load my model 
    $result=$this->user_query->query($this->input->post('username'),$this->input->post('password'))    

    if($result) //the user is in DB 
    { 
     $data['view']='main'; 
     $this->load->view('include/template', $data); 
     //the address bar shows http://myproject/login_check in main page  

    }else{ //the user is not in DB 

     $data['view']='login'; 
     $this->load->view('include/template', $data); 
    } 

} 

Trả lời

53

Trước hết, bạn đang làm một công việc rất nghèo kiểm tra nếu người dùng được xác thực (chỉ đi username/vượt qua mô hình không phải là tốt nhất, nên xử lý/kiểm tra trước khi gửi đến mô hình).

Bạn có thể làm chuyển hướng một cách dễ dàng bằng cách bao gồm các helper 'URL' và chỉ cần sử dụng:

redirect('/controller/method'); 

hoặc trong một ví dụ thế giới thực:

redirect('/main'); 

Reference Link

+1

Khi bạn nói "quá trình/kiểm tra" trước khi gửi để mô hình hóa, form_validation trung bình của bạn? Nếu vậy, tôi đã làm nó trên một phần khác của tôi của mã. Tôi có cần phải làm mysql_real_escape_string không? Tôi nghĩ Codeigniter đã áp dụng nó kể từ khi tôi đang sử dụng $ this-> input-> post. Thans. – FlyingCat

+1

Không, bạn sẽ ổn, CI sẽ lo tất cả nếu bạn sử dụng ** Truy vấn hiện hoạt **, tuy nhiên nếu bạn tự viết câu lệnh SQL, bạn cần sử dụng '$ this-> db-> escape()' để thoát khỏi nói 'tên người dùng' hoặc 'mật khẩu' chỉ trong trường hợp (không bao giờ bị ảnh hưởng thêm) – Jakub

+0

ok. Cảm ơn đã giúp đỡ. : D – FlyingCat

0

Có một cách khác nhưng tương tự với chuyển hướng(), nếu bộ điều khiển của bạn là Bộ điều khiển còn lại

restserver

Bạn có thể sử dụng khách hàng còn lại trong bộ điều khiển khác để gọi các phương thức trên bộ điều khiển máy chủ

restclient

Các vấn đề liên quan