【问题标题】:set_value function is not working in codeIgniter 3set_value 函数在 codeIgniter 3 中不起作用
【发布时间】:2017-01-30 14:00:07
【问题描述】:

我必须在 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;
        }

请帮助并就此提出建议。

【问题讨论】:

  • 您要设置哪些值?以及值的来源?
  • 我有两个字段用户名和密码,当我在用户名字段中写入一些数据并留下空白密码字段时,提交表单后显示错误但我在用户名字段中输入的数据未显示在用户名中字段,它的自动复位。我必须保留用户名
  • 只需设置'value'=&gt;'your value'..这样..

标签: php codeigniter codeigniter-3


【解决方案1】:

如果你不自动加载表单助手添加

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

并在您的 form_open 之前添加 validation_errors

<?php echo validation_errors(); ?>

更多数据请查看Codeigniter Validation Form

【讨论】:

    【解决方案2】:

    试试这个

       if ($this->form_validation->run() == FALSE) { 
                echo "Validation Success";
                        else:
    
                        $this->load->view('login_form']);
    
                    endif;
       }
    

    【讨论】:

      【解决方案3】:

      正如我在评论中提到的那样。只需像这样在您的字段上设置值..

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

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

      【讨论】:

        【解决方案4】:

        在我的情况下,当我在帮助程序中添加“表单”时问题解决了

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2014-06-26
            • 1970-01-01
            • 2016-04-06
            • 2020-05-14
            • 2011-09-20
            • 2016-04-22
            • 2018-04-19
            • 2021-08-24
            相关资源
            最近更新 更多