在Codeigniter 3中形成行动6

时间:2016-05-10 11:56:53

标签: forms codeigniter action codeigniter-3

我正在使用Codeigniter3.0.6,并且我正确设置表单操作,当我提交表单时,它直接进入localhost主页,我的代码是以下方式 我设置了$config['base_url'] = 'http://localhost:8081/consultant';因为没有它,基本网址返回就像http://::1/consultant一样this question

我的观点

<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');,它显示了正确的网址,如http://localhost:8081/consultant/login/auth,但是应用程序会转到localhost主页。

2 个答案:

答案 0 :(得分:0)

你有你的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>

答案 1 :(得分:0)

最后我找到了答案。在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';

它工作正常。