我通过网址传递变量$id
,并以表单形式加载数据,但是当我要验证表单时,无法识别值$id
。
function myfunction() {
$id = $this->uri->segment(4);
echo $id; //yes, print the value
$data_user = $this->admin_model->query_data_user($id);
$direccion = $data_user[0]->address;
$phone = $data_user[0]->phone;
$this->data['address'] = array(
'name' => 'address',
'id' => 'address',
'value' => $address,
'class' => 'input',
);
$this->data['phone'] = array(
'name' => 'phone',
'id' => 'phone',
'value' => $phone,
'class' => 'input',
);
echo $id; //yes, print the value
$this->form_validation->set_rules('address', 'Address', 'xss_clean|max_length[100]');
$this->form_validation->set_rules('phone', 'Phone', 'required|xss_clean|max_length[20]|is_natural_no_zero');
if ($this->form_validation->run() == true) {
echo $id; //here NOT PRINT $id
$data = array(
'address' => $this->input->post('address'),
'phone' => $this->input->post('phone'),
);
$id = $this->uri->segment(4);
echo $id; //here not print the value $id
$this->ion_auth->update_user($id, $data);
$this->load->view('includes/template_mensajes', $data);
}
$this->load->view('users/update_user', $this->data);
}
在验证我的表单时,无法识别值$id
,我的错误是什么?
答案 0 :(得分:6)
你在哪里提交表格。您确定要在表单的操作属性的URI中传递ID。
例如,您的表单打开标记应该类似于
<form action="/admin/myfunction/<?= $id ?>">
或使用codeigniter助手
echo form_open('admin/myfunction/' . $id);
答案 1 :(得分:1)
如果我没有弄错,我的功能是你的控制器中的一个动作叫做“mycontroller”让我们说。然后你应该发送这个网址:http://localhost/mycontroller/myfunction/1234
并将您的操作更新为接受ID参数$ id。 CodeIgniter将负责其余部分。
function myfunction($id) {
...
}
答案 2 :(得分:0)
您需要将表单中的$ id变量作为隐藏字段传递给POST值。
答案 3 :(得分:0)
将我的ID添加到我的网址末尾后,例如www.whsconcepts.com/?id=100
,
我把它叫回我的表格里面。例如:
form_open('the url I want' . $_Get ['id'])