Я использую Codeigniter3.0.6, и я продолжаю правильно настраивать действие формы, когда я отправляю форму, она переходит непосредственно на домашнюю страницу localhost, мой код ниже
Я установил $config['base_url'] = 'http://localhost:8081/consultant';, потому что без него возврат базового URL был похож на http://::1/consultant согласно этот вопрос

Мой вид

<form role="form" action="<?=base_url();?>login/auth" method="post" class="login-form" id="login-form">
        <div class="form-group">
            <label class="sr-only" for="form-username">Username</label>
            <input type="text" name="form-username" placeholder="Username..." class="formusername form-control" id="form-username">
       </div>
       <div class="form-group">
            <label class="sr-only" for="form-password">Password</label>
            <input type="password" name="form-password" placeholder="Password..." class="form-password form-control" id="form-password">
       </div>
       <button type="submit" class="btn">Sign in!</button>
    </form> 

Я использовал base_url('login/auth') и site_url('login/auth');, когда я проверяю элемент, он показывает правильный URL, например http://localhost:8081/consultant/login/auth, но приложение переходит на домашнюю страницу localhost.

0
Ali 10 Май 2016 в 14:56

2 ответа

Лучший ответ

Наконец я нашел свой ответ. В Codeigniter 2 файл htaccess RewriteRule выглядел как

RewriteRule ^(.*)$ /index.php/$1 [L]

Но в Codeigniter 3 вам нужно указать имя проекта перед index.php. например мой: "консультант"

RewriteRule ^(.*)$ /consultant/index.php/$1 [L]

И помните, что вы устанавливаете свой base_url как bellew:

$config['base_url'] = 'protocol://localhost/projectname';

Мой как ниже:

$config['base_url'] = 'http://localhost:8081/consultant';

И он работает нормально.

0
Ali 11 Май 2016 в 06:10

У вас есть файл htaccess? если нет, вам нужно использовать

<form action="<?= base_url('index.php/login/auth')?>" method="post">

Если да, то ты прав

<form action="<?= base_url('login/auth')?>" mehtod="post">

Htaccess файл в качестве примера

<IfModule mod_rewrite.c>
    RewriteEngine on

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

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /consultant/index.php
</IfModule>
0
elddenmedio 10 Май 2016 в 14:09