我有一个表单,当提交它发送到2个地方一个是php功能和其他json,原因是有标签字段,我必须得到那里值是由json。保存json post的值发送到另一个功能在php
问题是,json数组值到mysql中的不同表,并需要其他php函数的id。并总是给我Undefined index: elements
代码HTML:
这里的形式去运作cadastro_fornecedor()
<form id='form_c_fornecedor' action="<?php echo base_url().'admin/cadastro_fornecedor';?>" method="post" enctype="multipart/form-data">
<button type="submit" class="btn btn-primary">adicionar</button>
</form>
代码JS:
这里的时候colect值IM元素var和后提交表单他们到get_value_fornecedor()
和它的工作正常,直到这里。
$('#form_c_fornecedor').bind('submit', function (d) {
var elements = $('#try').tagHandler('getTags');
$.post("<?php echo base_url().'admin/get_value_fornecedor/'; ?>",{elements: JSON.stringify(elements)});
});
功能get_value_fornecedor
:
功能获得成功的价值。
public function get_value_fornecedor(){
$elements = json_decode($_POST['elements'], true);
return $elements;
}
功能cadastro_fornecedor
:
这里,我接收Undefined index: elements
这就是意味着$elements
值没有通过这个函数的错误。
public function cadastro_fornecedor(){
$elements = $this->get_value_fornecedor();
$inputall= $this->input->post();
$this->form_validation->set_rules('nome_fantasia', 'Nome Fantasia', 'required');
if ($this->form_validation->run() == FALSE){
$this->session->set_flashdata('error', 'O campo Nome é obrigatório.');
}else{
if($_POST){
$data_cad = date('Y-m-d');
$data=array('desc_entidade' =>$inputall['desc_entidade'],
'data_cad' =>$data_cad
);
$id= $this->cake->c_fornecedor($data);
if(!empty($elements)){
for ($i = 0; $i < count($elements); $i++){
$data_produtos=array( 'fornecedor_id' =>$id,
'produto_tag' =>$elements[$i]
);
$this->cake->c_produto($data_produtos);
}
}
$this->session->set_flashdata('success', 'O campo Nome é obrigatório.');
//redirect(base_url().'admin/c_fornecedor');
}
}
}
未定义“索引”的元素是,当你尝试,你会得到什么访问$ _POST超全球。它与你的cad.astro_fornecedor函数无关。问题出在你的get_value_fornecedor函数上。 – Andreas
'get_value_fornecedor'函数正常收到值...问题发生在我将该值从'get_value_fornecedor'传递到'cadastro_fornecedor'。 –
你正在调用cadastro_fornecedor中的函数,那就是为什么你会得到错误。在cadastro_fornecedor中尝试var_dumping $ _POST,看看你有什么。 – Andreas