Php 表单验证和表单操作在codeigniter 3中不起作用

Php 表单验证和表单操作在codeigniter 3中不起作用,php,forms,codeigniter,Php,Forms,Codeigniter,我正在构建我的第一个codeigniter应用程序,并试图找出如何实现基本的身份验证功能。以下是我的登录视图: <div><?php echo validation_errors(); ?></div> <?php echo form_open('admin/index', ['role' => 'form']); ?> <fieldset> <legend><i cl

我正在构建我的第一个codeigniter应用程序,并试图找出如何实现基本的身份验证功能。以下是我的登录视图:

<div><?php echo validation_errors(); ?></div>
<?php echo form_open('admin/index', ['role' => 'form']); ?>
          <fieldset>
            <legend><i class="fa fa-lock"></i> Secure Sign-In</legend>
            <div class="form-group">
              <label for="username">Username</label>
              <?php echo form_input(['name' => 'username', 'id' => 'username', 'class' => 'form-control', 'value' => '']); ?>
            </div>
            <div class="form-group">
              <label for="password">Password</label>
              <?php echo form_password(['name' => 'password', 'id' => 'password', 'class' => 'form-control']) ?>
              <div class="checkbox">
                <label>
                  <?php echo form_checkbox(['name' => 'remember_me', 'value' => 'Remember Me']) ?> Remember Me
                </label>
              </div>
            </div>
            <button type="submit" class="btn btn-primary">
              <i class="fa fa-sign-in"></i> Sign In
            </button>
            <a class="btn btn-link" href="">Forgot Your Password?</a>
          </fieldset>
        <?php echo form_close(); ?>
当我提交空表单(用户名和密码输入字段中没有输入)时,理想情况下,它应该在登录视图上执行验证并显示错误,但事实并非如此。什么也看不出来

另外,当我在chrome中打开登录视图页面源代码时,我注意到表单操作值看起来有点不同。它有以下价值:

<form action="http://[::1]/meshi/index.php/admin/index" role="form" method="post" accept-charset="utf-8">


我不知道[::1]在形式行动中意味着什么。此外,我还没有在配置文件中指定基本url值。

在Codeigniter3中
基本url
设置在config.php中是必需的。设置后,您将在表单操作中看到真实的url,而不是[::1]

$config['base_url'] = 'http://localhost/meshi/';
第二,当您想查看表单错误时,应该在查看页面中使用
验证\u errors()

echo validation_errors();
确保在使用表单帮助器之前加载它

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

在Codeigniter3
base\u url
中,config.php中的设置是必需的。设置后,您将在表单操作中看到真正的url,而不是[::1]谢谢。我已经在配置文件中添加了基本url,看起来表单操作现在已经修复。但我仍然没有在视图中看到验证错误。我已更新我的视图以包含验证错误();是否已加载表单帮助程序?是。您可以看到管理控制器索引函数的内部$这个->加载->助手('url','form');如果你没有得到任何错误,那么它的工作。可能
不可见。view source Code只有在添加了一个if子句来检查验证是真是假并在if中加载视图之后,它才起作用如果($this->form_validation->run()==FALSE){$this->load->view('templates/header');$this->load->view('auth/login_view');$this->load->view('templates/footer');}或者{$this->load->view('successform');}
$this->load->helper('form');