set_value函数在codeIgniter 3中不起作用

时间:2017-01-30 14:00:08

标签: php codeigniter codeigniter-3

我必须在codeIgniter中的form_validation期间设置/显示表单字段中的值,但是不使用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;
        }

请帮助并就此提出建议。

5 个答案:

答案 0 :(得分:1)

如果您没有自动加载表单助手添加

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

并在form_open

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

了解更多数据,请检查Codeigniter Validation Form

答案 1 :(得分:1)

试试这个

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

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

                endif;
   }

答案 2 :(得分:1)

正如我在评论中提到你的那样。只需在你的领域设定价值......

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

然后它将创建一个值为Sandeep的输入字段。

答案 3 :(得分:0)

对于我来说,当我在助手中添加“表单”时,问题就解决了

$autoload['helper'] = array('form');

答案 4 :(得分:0)

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