Home » Php » php – Error: An uncaught Exception was encountered

php – Error: An uncaught Exception was encountered

Posted by: admin February 25, 2020 Leave a comment


I receive this error:

An uncaught Exception was encountered Type: ArgumentCountError

Message: Too few arguments to function
Home::cadastroOrcamentoCliente(), 0 passed in
C:\xampp\htdocs\sistema_financas_old\system\core\CodeIgniter.php on
line 532 and exactly 6 expected


Line Number: 1116


File: C:\xampp\htdocs\sistema_financas_old\index.php Line: 315
Function: require_once

This is my code:

//Inicio de desenvolvimento new window client.
    //New Página para gerar pedido de cliente.
    function cadastroOrcamentoCliente($cpfcnpj=null, $tipo_pessoa=null, $dados = null, $id_pf, $id_cliente, $id_cadastro) {
        $tipo_login = $this->session->userdata('tipo_login');
        if ($tipo_login == '1' || $tipo_login == '4' || $tipo_login == '5') {
            $dadosPessoa['tipo_pessoa'] = null;
            $dadosOrcamento['str'] = $this->load->view('admin/compras/popup_cadastro', $dadosPessoa, true);
            if ($tipo_pessoa == 1) {
                $dadosOrcamento['cpf'] = $cpfcnpj;
                $dadosOrcamento['cnpj'] = null; 
            } else if ($tipo_pessoa == 2) {
                $dadosOrcamento['cpf'] = null;
                $dadosOrcamento['cnpj'] = $cpfcnpj;
            } else {
                $dadosOrcamento['cpf'] = $cpfcnpj;
                $dadosOrcamento['cnpj'] = $cpfcnpj; 

            if ($this->alteracao->editEndereco($id_cadastro) && $this->alteracao->editPessoaFisica($id_pf) &&
                $this->alteracao->editCliente($id_cliente) && $this->alteracao->editCadastroComum($id_cadastro) && $this->alteracao->editarDadosBancarios($id_cadastro)) {
            $data_cad = date("d/m/Y");
            $hora_cad = date("H:i:s");
            $this->alteracao->cadastroHistorico('Dados do cliente editados', $id_cadastro, $data_cad, $hora_cad);
            $this->alteracao->mensagemAlerta("Dados alterados com sucesso!", 1, "home/cadastros", $id_cadastro);

            $dadosOrcamento['orcamento'] = $this->compras_m->buscarOrcamentoAtual($this->session->userdata('id_orcamento'));
            $dadosBarra['dadosB'] = $this->financeiro->listaContas();
            $this->load->view('admin/barraSuperior', $dadosBarra);
            $dadosLogo['logo'] = $this->adm->retornaLogo();
            $this->load->view('admin/menu', $dadosLogo);
            $this->load->view('admin/vendas/cadastro_orcamento_cliente', $dadosOrcamento);
        } else {
            $dados['mensagem'] = null;

im calling here

 <form method="post" action="<?php echo site_url('pedido/cadastroOrcamentoVendaCliente') ?>">

just create a new screen and need additional to the project

How to&Answers:


function cadastroOrcamentoCliente($cpfcnpj=null, $tipo_pessoa=null, $dados = null, $id_pf,
                                  $id_cliente, $id_cadastro)

is fundamentally wrong to begin with.


Note that when using default arguments, any defaults should be on the right side of any non-default arguments; otherwise, things will not work as expected.

You need to change the order of your arguments here – the ones without default values need to come first, and the ones with only after that:

function cadastroOrcamentoCliente($id_pf, $id_cliente, $id_cadastro, $cpfcnpj=null,
                                  $tipo_pessoa=null, $dados = null)

And then you will still have to provide values for at least the first three of them in your actual call of that function.


If you are posting fields to the cadastroOrcamentoCliente you shouldn’t define a parameter count. POST fields are not treated as function parameters, which is why you’re getting the error (you’re declaring that the function must receive 6 parameters exactly, but it’s getting none)

just declare the function as function cadastroOrcamentoCliente() and then handle the post’ed fields via $this->input->post('fieldname') (after validating everything with the form validation helper)