0

下面是我的“mainview.php”视图。从这里我尝试提交并打开名为“carerview.php”的下一个视图。

<form action="<?php echo base_url()?>login" method="post">                    
    <div class="input-prepend">
         <span class="add-on"><i class="icon-envelope"></i></span>
          <input type="text" id="" name="" placeholder="your@email.com"></br></br>

          <div class="input-prepend">
              <span class="add-on"><i class="icon-lock"></i></span>
              <input type="password" id="" name="" placeholder="Password"></br></br>
              <button type="submit" class="btn btn-primary"><i class="icon-user icon-white"></i>Sign in</button>
          </div>
    </div>
</form>

我试图提交这给了我问题。加载包含上述视图的索引页面。但是当我提交时。我在此服务器上找不到请求的 URL。然后,如果我使用完整的 url action="application/controllers/user/login" 我会被禁止,无权访问它。

我在控制器类中的方法只是在提交时加载下一个视图,所以我认为那里没有问题。下面是控制器

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

 class User extends CI_Controller {

    public function index()
    {

            if(!$this->isLoggedIn())
            {
            $this->load->view('mainview');
            }
            else
            {
            //do something
            }

    }


    public function login()
    {
    $this->load->view('carerview');

    }



    public function isLoggedIn()
    {
    return false;
    }

}

任何帮助将不胜感激。

4

2 回答 2

0

您的表单操作是base_url(),这意味着是应用程序索引路由。

尝试使用form_open()(在 form_helper 中),它负责构建正确的 url:

<?php echo form_open('user/login');?>

  ... your form here

<?php echo form_close();?>   // since I didn't see a close form tag in your form

小心任何可能拦截请求的路由。

或者,您可以使用site_url()

<form method="POST" action="<?php echo site_url('user/login');?>">
于 2013-09-25T17:19:45.720 回答
0

如果你没有index.php从你的 URL 中删除并且没有base_url在配置中设置任何东西,试试这个

<?php echo base_url();?>index.php/user/login

localhost/your_app_folder/index.php/controller/action
于 2013-09-25T17:45:29.523 回答