CodeIgniter中的URL复制类似于http:// localhost / CI / login / login / login

时间:2014-12-25 13:19:01

标签: php codeigniter login codeigniter-url codeigniter-routing

正在处理codeigniter应用程序。 我有一个带有以下代码的login.php

public function index()
    {
        $this->load->view('login');
    }
    public function login()
    {
        $username=$this->input->post('username');
        $password=$this->input->post('password');
        $data=array(
            'username'=>'$username',
            'password'=>'$password'
        );
        if(1){
            redirect($this->config->base_url().'admin');
        }
        else{
            redirect($this->config->base_url().'login');
        }
    }

我已将login声明为default_controller。

我查看了login.php,它有一个登录表单并提交登录/登录操作。当我点击提交按钮时。

url-at-the-address-bar  expected-url  redirected-url
[root]                  login/login   login/login
login/login             login/login   login/login/login
login/login/login       login/login   login/login/login/login

等等。网址不断加起来。 尝试过htaccess。 htaccess对此问题有影响。请帮忙

2 个答案:

答案 0 :(得分:0)

在重定向到其他控制器时不要使用base url(),你应该改变它:

if(1){
  redirect($this->config->base_url().'admin');
}
else{
  redirect($this->config->base_url().'login');
}

到此:

$is_logged = false; // To replace with login statement.

if($is_logged)
  redirect('admin');
else
  redirect('login');

答案 1 :(得分:0)

我使用了Simo的建议,但它没有用。我终于通过将表单操作更改为:

找到了答案
<form action="http://localhost/CI/login/login" method="post">