assign a variable to a vector key - PHP

Asked

Viewed 67 times

1

Good evening everyone with a problem that I believe to be very simple but I could not solve I have the following code:

function inserir($ccod) {
    $cod_cliente = $ccod;

    $this->template->set('title', 'Inserir Orçamento');
    /* Carrega a biblioteca do CodeIgniter responsável pela validação dos formulários */
    $this->load->library('form_validation');



    /* Define as tags onde a mensagem de erro será exibida na página */
    $this->form_validation->set_error_delimiters('<span>', '</span>');

    /* Define as regras para validação */

    $this->form_validation->set_rules('produto', 'Produto', 'required');
    $this->form_validation->set_rules('orcdat', 'Data', 'required');
    $this->form_validation->set_rules('situacao', 'Situação', 'required');
    $this->form_validation->set_rules('valor', 'Valor', 'required');

    /* Executa a validação e caso houver erro chama a função index do controlador */
    if ($this->form_validation->run() === FALSE) {

        $this->template->load('layout', 'orcamentos_inserir.phtml',$ccod);
        /* Senão, caso sucesso: */
    } else {

        /* Recebe os dados do formulário (visão) */
        $data['cliente'] = $cod_cliente;
        $data['produto'] = ucwords($this->input->post('produto'));
        $data['orcdat'] = $this->input->post('orcdat');
        $data['situacao'] = $this->input->post('situacao');
        $data['valor'] = $this->input->post('valor');           

        /* Chama a função inserir do modelo */
        if ($this->model->inserir($data)) {
            redirect('clientes');
        } else {
            log_message('error', 'Erro ao inserir Orçamento.');
        }
    }
}

what I want is to assign the value I’m getting in the insert function in the $CCOD case, to a $data['client'] field to later save this code in the database but when doing as I did above I get the following error

inserir a descrição da imagem aqui

  • Try to add $data = array(); before allocating $data['cliente'];, because it seems that the variable $data is not defined at this point.

  • hi thanks for the tip, but continues with the same mistake.

  • Give a print_r($data); exit; above that line: $this->model->inserir($data), and see if the variable contains the $cod_client

  • You are receiving the $ccod null parameter and therefore assigning null to $cod_client. Which in turn assigns null to $date['client'] which cannot be null.

  • And it gets weird, because if I echo just below $cod_client = $ccod; it shows me the correct value assigned to $cod_client; but if I give a print_r($data); Exit; above this line: $this->model->insert($date) it is null.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.