Как исправить запрошенный URL-адрес не найдена ошибка в Codeigniter - PullRequest
0 голосов
/ 23 января 2019

Я новичок в codeigniter и пытаюсь создать страницу регистрации, используя ее. Когда я вызываю функцию в контроллере, сервер возвращает ошибку «Запрошенный URL / Users / actionRegister не найден на этом сервере».

Я изменил файл .htaccess и запустил rewrite_mode на модулях apache.

<?php echo form_open('Users/actionRegister'); ?>

    <div class="form-group">
        <input type="text" name="name" class="form-control" id="name" placeholder="Name">
    </div>
    <div class="form-group">
        <input type="text" name="username" class="form-control" id="username" placeholder="User Name">
    </div>
    <div class="form-group">
        <input type="text" name="email" class="form-control" id="email" placeholder="Email">
    </div>
    <div class="form-group">
        <input type="password" name="password" class="form-control" id="password" placeholder="Password">
    </div>
    <div class="form-group">
        <input type="password" name="confirm_password" class="form-control" id="confirm-password" placeholder="Confirm Password">
    </div>
    <div class="form-group pull-right">
        <button type="submit" id="register" class="btn btn-primary">Register</button>
    </div>
</div>
<?php echo form_close(); ?>

Не могли бы вы помочь мне исправить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Прежде всего, вам нужно обратиться к CodeIgniter user_guide , чтобы правильно назвать ваши файлы

создать контроллер (application/controllers/Users.php) и разместить в нем некоторый код:

<?php 
Class Users extends CI_Controller(){
    public function __construct(){
        parent::__construct();
    }
    public function index(){
        echo '<code>users/index/</code> is called';
    }

    public function actionRegister(){
        if($_POST){
            var_dump($_POST);
            }else{
            echo 'direct access to this function is not allowed';
        }
    }
}

затем используйте прямой доступ к вашему URL, как это localhost/codeigniter/users/actionregister/

0 голосов
/ 23 января 2019

В этом случае вы можете проверить, загружаете ли вы вспомогательную форму на ваш контроллер, это должно выглядеть следующим образом:

$this->load->helper('form');

На вашем коде <?php echo form_open('Users/actionRegister'); ?> можно указать Users/actionRegister на rout.php(this file is located under application/config) для удобного доступа к вашей функции.Вы можете сделать это следующим образом:

$route['register'] = 'Users/actionRegister';

Чтобы вызвать определенную функцию, теперь вы можете вызвать base_url().'register' внутри функции form_open.

Пожалуйста, прочитайте большеabout Настройка base_url в CI

Перед этим вы должны отредактировать файл .htaccess, чтобы распознать ваши маршруты в CI.Вот так:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Посмотрим, справитесь ли вы с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...