set_value 函数在 codeIgniter 3 中不起作用

set_value function is not working in codeIgniter 3

我必须在 codeIgniter form_validation 期间 set/display 表单字段中的值,但数据不是 set/display 使用 set_value 函数。

这是我的代码,

查看页面 -

login_form.php

<?= form_open('admin/login');?>

      <?= form_label('Username','username'); ?>
        <?= form_input(['id'=>"username", 'placeholder'=>"Username", "name"=>"username", 'value'=>set_value('username')]); ?><br>
        <?= form_error('username'); ?>
        <br>
      <?= form_label('Password', 'Password'); ?>
        <?= form_password(["id"=>"password", "placeholder"=>"Password", 
        "name"=>"pass", "value"=>set_value('pass')]); ?>
        <?= form_error('pass') ?>
        <br>
        <?php echo form_submit(['value'=>'Login']); ?>

<?= form_close(); ?>

控制器 -

admin.php

public function login(){

            $this->load->library('form_validation');
            $this->form_validation->set_rules('username', 'User Name', 'required|alpha|trim');
            $this->form_validation->set_rules('pass', 'Password', 'required');

                if($this->form_validation->run()):
                    echo "Validation Success";
                    else:

                    $this->load->view('login_form']);

                endif;
        }

请帮忙提出建议。

如果您不自动加载表单助手,请添加

$this->load->helper(array('form', 'url'));

并在 form_open

之前添加 validation_errors
<?php echo validation_errors(); ?>

查看更多数据Codeigniter Validation Form

试试这个

   if ($this->form_validation->run() == FALSE) { 
            echo "Validation Success";
                    else:

                    $this->load->view('login_form']);

                endif;
   }

正如我在 comment.Just 中提到的,像这样在您的字段上设置值..

<?= form_input(['id'=>"username", 'placeholder'=>"Username", "name"=>"username", 'value'=>'Sandeep']); ?><br>

然后它将创建一个值为 Sandeep.

的输入字段

在我的例子中,当我在 helper

中添加 'form' 时问题解决了
$autoload['helper'] = array('form');

您可能在验证失败时重定向,您需要重新加载表单。