只有“Type = Text”&重定向错误后“Textarea”重新填充;但“选择”& “Checkboxes”不在CodeIgniter 3

时间:2015-12-10 17:19:00

标签: php codeigniter codeigniter-3

您好我是CI的新手,并尝试在此表单上工作,如果验证输出错误,那么用户不应该松开字段值。但它只重新填充文本和textarea,而非复选框并选择。

表 -

<span class="error"><?php echo $validation_errors; ?></span>
<?php echo form_open_multipart('user/post_property'); ?>
<input name="v_item_title" placeholder="Property Title Goes Here.." value="<?php echo $v_item_title; ?>" />
<textarea name="v_item_description" placeholder="Description" ><?php echo $v_item_description; ?></textarea>
<select name="v_item_category" value="<?php echo $v_item_category; ?>">
<option value="">Select</option>
<option value="Apartment" <?php echo $v_item_category; ?>>Apartment</option>
<option value="Barn" <?php echo $v_item_category; ?>>Barn</option>
</option>
</select>
<input type="hidden" name="v_item_payment_visa" value="0"  />
<input type="checkbox" name="v_item_payment_visa" value="1" <?php echo $v_item_payment_visa; ?> /><span class="li-font">VISA</span>
<input type="submit" value="Submit">
<?php echo form_close(); ?>

控制器 -

$this->form_validation->set_rules('v_item_title', 'Property title', 'trim|required|xss_clean|max_length[100]');
if($this->form_validation->run() == FALSE) {
$this->session->set_userdata('validation_errors', validation_errors());
$this->session->mark_as_flash('validation_errors'); // data will automatically delete themselves after redirect
$this->session->set_flashdata('v_item_title', $this->input->post('v_item_title'));
$this->session->flashdata('v_item_title');
$this->session->set_flashdata('v_item_description', $this->input->post('v_item_description'));
$this->session->flashdata('v_item_description');
$this->session->set_flashdata('v_item_category', $this->input->post('v_item_category'));
$this->session->flashdata('v_item_category');
$this->session->set_flashdata('v_item_payment_visa', $this->input->post('v_item_payment_visa'));
$this->session->flashdata('v_item_payment_visa');
redirect('user/dashboard#new');
} else {

重定向到 -

public function dashboard() {
if($this->session->userdata('is_logged_in')){
$data['validation_errors'] = $this->session->userdata('validation_errors');
$data['v_item_title'] = $this->session->userdata('v_item_title');
$data['v_item_description'] = $this->session->userdata('v_item_description');
$data['v_item_category'] = $this->session->userdata('v_item_category');
$data['v_item_payment_visa'] = $this->session->userdata('v_item_payment_visa');
$data['homepage'] = '../../templates/vacations/users/dashboard';
$this->load->view('template_users',$data);
}else{

我已经度过了一段美好时光但却无处可去。在这里寻求帮助。

1 个答案:

答案 0 :(得分:0)

最后我开始工作了 -

<span class="error"><?php echo $validation_errors; ?></span>
<?php echo form_open_multipart('user/post_property'); ?>
<input name="v_item_title" placeholder="Property Title Goes Here.." value="<?php echo $v_item_title; ?>" />
<textarea name="v_item_description" placeholder="Description" ><?php echo $v_item_description; ?></textarea>
<select name="v_item_category">
<option value="0">Select</option>
<option value="Apartment" <?php if($this->session->flashdata('v_item_category') === 'Apartment') echo('selected')?>>Apartment</option>
<option value="Barn" <?php if($this->session->flashdata('v_item_category') === 'Barn') echo('selected')?>>Barn</option>
</option>
</select>
<input type="hidden" name="v_item_payment_visa" value="0"  />
<input type="checkbox" name="v_item_payment_visa" value="1" <?php if($this->session->flashdata('v_item_payment_visa')) echo 'checked="checked"'; ?> /><span class="li-font">VISA</span>
<input type="submit" value="Submit">
<?php echo form_close(); ?>