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(); ?>
试试这个
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');
您可能在验证失败时重定向,您需要重新加载表单。
我必须在 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(); ?>
试试这个
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');
您可能在验证失败时重定向,您需要重新加载表单。