0

我想知道是否有人可以帮助我???我正在使用 CodeIgniter 创建一个小的登录屏幕。但是,每次我调用该函数以使用 CodeIgniter 表单助手验证详细信息时。404 错误一直显示 CodeIgniter 找不到 URL。我的“查看”文件代码如下所示:

<!doctype html>
<html>
<head>
    <title>CodeIgniter Prototype</title>

    <!-- CSS/LESS Code Links -->
    <link rel = "stylesheet" href = "<?php echo base_url();?>css/style.css" type = "text/css"/>
</head>

<body>
    <div class = "login_wrapper">
        <h1>ONESG OneInvoice Exporter</h1>
        <?php
            echo form_open('login/check_login');
            echo form_input('username', '', 'placeholder = "Enter Username"');
            echo form_password('password', '', 'placeholder = "Enter Password"');
            echo form_submit('submit', 'Login');
            echo form_close();
        ?>
    </div>
</body>
</html>

我的控制器代码如下所示:

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

class Login extends CI_Controller {

    public function index() {
        $this->load->view('login_form');
    }

    public function check_login() {
        $this->load->model('login_model');
        $query = $this->login_model->validate();

        if ($query) {
            $data = array (
                'username' => $this->input->post('username'),
                'is_logged_in' => true
            );

            $this->sessions->set_userdata($data);
            redirect('site/members_area');
        }

        else {
            $this->index();
        }
    }

}
4

2 回答 2

0

在 .htaccess 中添加这个

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

然后在配置中的routes.php中添加

$route["members_area/(.*)"] = 'site/members_area/$1';
于 2013-07-23T06:54:02.827 回答
0

检查您的文件夹结构是否有 .htaccess 文件。如果不添加名为 .htaccess 的文件名并将以下代码添加到文件中

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

在此处输入图像描述

于 2017-11-14T15:33:32.447 回答