dongwalun2507
2017-01-30 14:00
浏览 49
已采纳

set_value函数在codeIgniter 3中不起作用

I have to set/display the value in form fields during form_validation in codeIgniter but data is not set/displaying by using set_value function.

Here is my code,

view page -

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(); ?>

Controller -

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;
        }

Please help and give suggestion regarding this.

图片转代码服务由CSDN问答提供 功能建议

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

这是我的代码,

查看页面 -

login_form.php

 &lt;?= form_open('admin / login');?&gt; 
 
&lt;?= form_label('Username','username');  ?&gt; 
&lt;?= form_input(['id'=&gt;“username”,'placeholder'=&gt;“用户名”,“名称”=&gt;“用户名”,“值”=&gt; set_value(  '用户名')]);  ?&gt;&lt; br&gt; 
&lt;?= form_error('username');  ?&gt; 
&lt; br&gt; 
&lt;?= form_label('密码','密码');  ?&gt; 
&lt;?= form_password([“id”=&gt;“密码”,“占位符”=&gt;“密码”,
“名称”=&gt;“通过”,“值”=&gt;  SET_VALUE( '通')]);  ?&gt; 
&lt;?= form_error('pass')?&gt; 
&lt; br&gt; 
&lt;?php echo form_submit(['value'=&gt;'Login']);  ?&gt; 
 
&lt;?= form_close();  ?&gt; 
   
 
 

控制器 -

admin.php \ n

  public function login(){
 
 $ this-&gt; load-&gt; library('form_validation'); 
 $ this-&gt; form_validation-&gt; set_rules('username',  '用户名','必需| alpha | trim'); 
 $ this-&gt; form_validation-&gt; set_rules('pass','密码','required'); 
 
 if($ this-&gt;  ; form_validation-&gt; run()):
 echo“验证成功”; 
其他:
 
 $ this-&gt; load-&gt; view('login_form']); 
 
 endif; \  n} 
   
 
 

请提供帮助并就此提出建议。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • dongtuwu8548 2017-01-30 15:02
    已采纳

    If you not autoload Form helper add

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

    and add validation_errors before your form_open

    <?php echo validation_errors(); ?>
    

    for more datails check Codeigniter Validation Form

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • doujiao7483 2017-01-30 15:50

    try this

       if ($this->form_validation->run() == FALSE) { 
                echo "Validation Success";
                        else:
    
                        $this->load->view('login_form']);
    
                    endif;
       }
    
    评论
    解决 无用
    打赏 举报
  • donglian4879 2017-01-30 16:02

    As I mentioned you in comment.Just set value on your field like this..

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

    Then it Will create a input field with value Sandeep.

    评论
    解决 无用
    打赏 举报
  • doujiu7680 2019-02-13 15:13

    In my case, the problem solved when I added the 'form' in the helper

    $autoload['helper'] = array('form');
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题