表单打开重定向到错误的路径

时间:2014-09-29 07:18:35

标签: php codeigniter

我是CodeIgniter的新手,在提交表单后面临问题

      <?php echo form_open('verifylogin'); ?>
      <label for="username">Username:</label>
      <input type="text" size="20" id="username" name="username"/>
      <br/>
      <label for="password">Password:</label>
      <input type="password" size="20" id="passowrd" name="password"/>
      <br/>
      <input type="submit" value="Login"/>
      </form>
      login page url http://localhost/codeig/login/

表单提交后我将重定向到控制器verifylogin,但它重定向如下

       http://localhost/codeig/login/localhost/codeig/verifylogin

我在verifylogin控制器中有验证码

提前致谢

verifylogin.php

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

  class VerifyLogin extends CI_Controller {
     function __construct()
     {
     parent::__construct();
     $this->load->model('user','',TRUE);
     }

    function index()
  {
  //This method will have the credentials validation
  $this->load->library('form_validation');
  $this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
  $this->form_validation->set_rules('password', 'Password',        'trim|required|xss_clean|callback_check_database');

   if($this->form_validation->run() == FALSE)
 {
  //Field validation failed.  User redirected to login page
  $this->load->view('login_view');
  }
   else
   {
   //Go to private area
   redirect('home', 'refresh');
  }

       }

   function check_database($password)
  {
   //Field validation succeeded.  Validate against database
   $username = $this->input->post('username');

   //query the database
   $result = $this->user->login($username, $password);

    if($result)
   {
    $sess_array = array();
    foreach($result as $row)
    {
    $sess_array = array(
      'id' => $row->id,
      'username' => $row->username
      );
    $this->session->set_userdata('logged_in', $sess_array);
     }
      return TRUE;
      }
      else
     {
  $this->form_validation->set_message('check_database', 'Invalid username or password');
  return false;
   }
    }
   }
   ?>

1 个答案:

答案 0 :(得分:3)

来自评论。

你的基本网址是

$config['base_url'] = 'localhost/codeig/'

您忘记包含协议,即http://

base_url的基本结构是

1 协议

2

3 CI安装路径

如果你保持

$config['base_url'] = ''

CI将自动检测base_url