Ir para conteúdo
violin101

PHP - Dúvida referente informação de POST

Recommended Posts

Caros amigos, saudações.

 

Apenas uma pequena dúvida.

 

Precisei realizar uma alteração de Validação de usuário/empresa.

 

Antes essa linha de código estava assim:

<input type="hidden" id="idEmps" name="idEmps" value="<?php echo $emprsa->idEmpresas; ?>" />

 

Precisei colocar [0] para poder localizar a Empresa Logada.

<input type="hidden" id="idEmps" name="idEmps" value="<?php echo $emprsa[0]->idEmpresas; ?>" />

 

Agora, o sistema dá erro e não grava.

 

minha dúvida: qual a função do [0]  e  como consigo corrigir ?

 

Grato,

 

Cesar

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saudações!
 

3 hours ago, violin101 said:

$emprsa->idEmpresas

essa notação é de 1 objeto
 

3 hours ago, violin101 said:

$emprsa[0]->idEmpresas

essa notação é 1 array de objetos

Se os dois estão corretos, o script deveria funcionar da mesma forma, depois de submetidos os dados. Não deveria falhar.
É preciso investigar/debugar melhor

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, Albano, saudações.

 

Tenho um FORM onde o usuário seleciona o Produto para ser Relacionado com outros produtos.

 

O form recebe os DADOS corretamente vindo do MySql, infelizmente quando o usuário Relaciona, os valores passam NULL via ajax, para serem gravados, isso não estou entendo porque está acontece, se antes não ocorria o erro.

 

Abaixo está o código que estou usando.

          <div class="tab-pane fade" id="relacionamento" role="tabpanel" aria-labelledby="relacionamento-tab">
            <div class="txtProd">
              <?php echo $result->cod_interno; ?> - <?php echo $result->descricao; ?>
            </div>

            <div class="card-body">
            
              <form id="frmRelac" action="javascript:;" method="post" accept-charset="utf-8" 
                    enctype="multipart/form-data" >
                <div class="row">
                  <div class="col-md-8">   
                    <label for="idProdutos">Produto:</label>
                    <div class="input-group">
                    <input type="hidden" name="idProdutos" id="idProdutos" value="<?= $result->idProdutos ?>">
                    <input type="text" class="form-control" id="descritem" name="descritem" 
                           style="font-size:15px; font-weight:bold; background:#ffffff;" 
                           placeholder="Pesquisar Produto para ser Relacionado" disabled> 
                        <span class="input-group-btn">
                            <button class="btn btn-warning" type="button" id="btnProd" name="btnProd" 
                                    data-toggle="modal" data-target="#modal_prod">
                                    <span class="fa fa-search"></span> Pesquisar
                            </button>
                        </span>
                    </div>
                  </div> 
                  <br/>

                  <div class="col-md-2" style="margin-top:32px;">   
                    <input type="hidden" id="idPrds" name="idPrds" value="<?php echo $result->idProdutos; ?>"/>
                    <input type="hidden" id="idEmps" name="idEmps" value="<?php echo $emprsa[0]->idEmpresas; ?>"/>
                    <button type="submit" id="btn-adic" class="btn btn-success" style="width:100%;"> Relacionar</button>
                  </div>     

                  <div class="col-md-2" style="margin-top:32px;"> 
                    <button id="btn-limp" class="btn btn-danger" style="width:100%;">
                      <i class="fa fa-paint-brush icon-white"></i> Limpar
                    </button>                                               
                  </div>          

                  <div class="clearfix"></div>    
                  <br/>   
                </div>
              </form>

              <div class="clearfix"></div>   

              <div class="row">
                <div class="col-md-12" id="divRelac" style="padding: 1%; margin-left:0px;">
                  <table class="table" id="tab_prods">
                    <thead>
                    <tr style="background-color:#BDDCDC;">
                      <th style="text-align:center;">CÓDIGO</th>
                      <th style="text-align:center;">DESCRIÇÃO DO PRODUTO</th>
                      <th style="text-align:center;">CATEGORIA</th>                            
                      <th style="text-align:center;">IMAGEM</th>                            
                      <th style="text-align:center;">AÇÃO</th>
                    </tr>
                    </thead>
                    <tbody>
                    <?php                            
                      foreach ($relacto as $rlc) {
                      echo '<tr>';
                        echo '<td width="20" height="10" style="text-align:center;">'.$rlc->cod_interno.'</td>';
                        echo '<td width="250" height="10" style="text-align:left;">'.$rlc->descricao.'</td>';
                        echo '<td width="20" height="10" style="text-align:center;">'.$rlc->categoria.'</td>';
                        echo '<td width="20" height="10" style="text-align:center;">' ?>
                              <?php if ($rlc->imagemCapa != null) { ?>
                                  <img src="<?php echo $rlc->imagemCapa; ?>" 
                                       width="40px;" height="30px" alt="">
                                <?php } else { ?>
                                  <img src="<?php echo base_url() ?>assets/img/semImg.jpg" 
                                       width="40px;" height="30px" alt="">
                                <?php } ?>                    
                              <?php
                             '</td>';

                        echo '<td width="20" height="10" style="text-align:center;"><span idExcrlc="'.$rlc->idrelacionar.'" title="Excluir Produto Relacionado" class="btn btn-danger" style="margin-right: 1%; padding: 2px 5px;"><i class="fa fa-trash icon-white"></i></span></td>';

                      echo '</tr>';
                      } ?>
                    </tbody>
                  </table> 
                  &nbsp;
                </div> 
              </div>                           

            </div>
          </div>

 

O código em JavaScript, para gravar no MySql.

    //Adicionar Relacionamento
    $("#frmRelac").validate({
        submitHandler: function (form) {
            var dados = $(form).serialize();
            $("#divRelac").html("<div class='progress'><div class='progress-bar progress-bar-primary progress-bar-striped' role='progressbar' aria-valuenow='40' aria-valuemin='0' aria-valuemax='100' style='width: 100%''></div></div>");
            $.ajax({
                type: "POST",
                url: "<?php echo base_url();?>admin/produtos/adicionarRelac",
                data: dados,
                dataType: 'json',
                success: function (data) {
                    if (data.result == true) {
                        $("#divRelac").load("<?php echo current_url();?> #divRelac");
                        $("#descritem").val('');
                        //Desabilita os Buttons
                        document.getElementById("btn-adic").disabled = true;
                        document.getElementById("btn-limp").disabled = true;
                    } else {
                        alert('Ocorreu um erro ao tentar adicionar um produto.');
                    }                       
                }
            });
            return false;
        }
    });

 

O result, vem assim do Models
 


    function getById($id)
    {
        $this->db->where('idProdutos', $id);
        $this->db->limit(1);
        return $this->db->get('produtos')->row();
    }  
    

 

 

O amigo, pode me dar uma ajuda.

 

Grato,

 

Cesar

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, washalbano disse:

Saudações!
 

essa notação é de 1 objeto
 

essa notação é 1 array de objetos

Se os dois estão corretos, o script deveria funcionar da mesma forma, depois de submetidos os dados. Não deveria falhar.
É preciso investigar/debugar melhor

 

 

Amigo Albano,

 

consegui resolver.

 

exclui a Tabela de Relacionamento e inclui novamente.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução seria

 

 

<div class="tab-pane fade" id="relacionamento" role="tabpanel" aria-labelledby="relacionamento-tab">
    <div class="txtProd">
      <?php echo $result->cod_interno; ?> - <?php echo $result->descricao; ?>
    </div>

    <div class="card-body">
        <form id="frmRelac" action="javascript:;" method="post" accept-charset="utf-8" enctype="multipart/form-data">
            <div class="row">
                <div class="col-md-8">
                    <label for="idProdutos">Produto:</label>
                    <div class="input-group">
                        <input type="hidden" name="idProdutos" id="idProdutos" value="<?= $result->idProdutos ?>">
                        <input type="text" class="form-control" id="descritem" name="descritem"
                               style="font-size:15px; font-weight:bold; background:#ffffff;"
                               placeholder="Pesquisar Produto para ser Relacionado" disabled>
                        <span class="input-group-btn">
                            <button class="btn btn-warning" type="button" id="btnProd" name="btnProd"
                                    data-toggle="modal" data-target="#modal_prod">
                                <span class="fa fa-search"></span> Pesquisar
                            </button>
                        </span>
                    </div>
                </div>
                <br/>
                <div class="col-md-2" style="margin-top:32px;">
                    <input type="hidden" id="idPrds" name="idPrds" value="<?php echo $result->idProdutos; ?>"/>
                    <input type="hidden" id="idEmps" name="idEmps" value="<?php echo $emprsa[0]->idEmpresas; ?>"/>
                    <button type="submit" id="btn-adic" class="btn btn-success" style="width:100%;"> Relacionar</button>
                </div>
                <div class="col-md-2" style="margin-top:32px;">
                    <button id="btn-limp" class="btn btn-danger" style="width:100%;">
                        <i class="fa fa-paint-brush icon-white"></i> Limpar
                    </button>
                </div>
                <div class="clearfix"></div>
                <br/>
            </div>
        </form>

        <div class="clearfix"></div>

        <div class="row">
            <div class="col-md-12" id="divRelac" style="padding: 1%; margin-left:0px;">
                <table class="table" id="tab_prods">
                    <thead>
                    <tr style="background-color:#BDDCDC;">
                        <th style="text-align:center;">CÓDIGO</th>
                        <th style="text-align:center;">DESCRIÇÃO DO PRODUTO</th>
                        <th style="text-align:center;">CATEGORIA</th>
                        <th style="text-align:center;">IMAGEM</th>
                        <th style="text-align:center;">AÇÃO</th>
                    </tr>
                    </thead>
                    <tbody>
                    <?php
                      foreach ($relacto as $rlc) {
                        echo '<tr>';
                          echo '<td width="20" height="10" style="text-align:center;">'.$rlc->cod_interno.'</td>';
                          echo '<td width="250" height="10" style="text-align:left;">'.$rlc->descricao.'</td>';
                          echo '<td width="20" height="10" style="text-align:center;">'.$rlc->categoria.'</td>';
                          echo '<td width="20" height="10" style="text-align:center;">' ?>
                              <?php if ($rlc->imagemCapa != null) { ?>
                                  <img src="<?php echo $rlc->imagemCapa; ?>"
                                       width="40px;" height="30px" alt="">
                                <?php } else { ?>
                                  <img src="<?php echo base_url() ?>assets/img/semImg.jpg"
                                       width="40px;" height="30px" alt="">
                                <?php } ?>
                              <?php
                             '</td>';

                          echo '<td width="20" height="10" style="text-align:center;"><span idExcrlc="'.$rlc->idrelacionar.'" title="Excluir Produto Relacionado" class="btn btn-danger" style="margin-right: 1%; padding: 2px 5px;"><i class="fa fa-trash icon-white"></i></span></td>';

                        echo '</tr>';
                      } ?>
                    </tbody>
                </table>
                &nbsp;
            </div>
        </div>

    </div>
</div>

javascript

 

//Adicionar Relacionamento
$("#frmRelac").validate({
    submitHandler: function (form) {
        var dados = $(form).serialize();
        $("#divRelac").html("<div class='progress'><div class='progress-bar progress-bar-primary progress-bar-striped' role='progressbar' aria-valuenow='40' aria-valuemin='0' aria-valuemax='100' style='width: 100%''></div></div>");
        $.ajax({
            type: "POST",
            url: "<?php echo base_url();?>admin/produtos/adicionarRelac",
            data: dados,
            dataType: 'json',
            success: function (data) {
                if (data.result == true) {
                    $("#divRelac").load("<?php echo current_url();?> #divRelac");
                    $("#descritem").val('');
                    //Desabilita os Buttons
                    document.getElementById("btn-adic").disabled = true;
                    document.getElementById("btn-limp").disabled = true;
                } else {
                    alert('Ocorreu um erro ao tentar adicionar um produto.');
                }
            }
        });
        return false;
    }
});

Atualize seu formulário para garantir que todos os campos necessários sejam preenchidos e verificados antes do envio. Em particular, adicione um atributo required aos campos que não podem ser vazios

 

<input type="hidden" name="idProdutos" id="idProdutos" value="<?= $result->idProdutos ?>" required>
<input type="hidden" id="idPrds" name="idPrds" value="<?php echo $result->idProdutos; ?>" required />
<input type="hidden" id="idEmps" name="idEmps" value="<?php echo $emprsa[0]->idEmpresas; ?>" required />

A função $(form).serialize() coleta os dados do formulário e os envia via AJAX. Verifique se o conteúdo de dados está correto e contém todos os parâmetros necessários:

 

console.log(dados);  // Adicione esta linha para depuração

A função de sucesso do AJAX deve lidar com a resposta JSON e atualizar o DOM adequadamente. Certifique-se de que o manipulador AJAX está correto:

 

$.ajax({
    type: "POST",
    url: "<?php echo base_url();?>admin/produtos/adicionarRelac",
    data: dados,
    dataType: 'json',
    success: function (data) {
        if (data.result == true) {
            $("#divRelac").load("<?php echo current_url();?> #divRelac");
            $("#descritem").val('');
            // Desabilita os Buttons
            document.getElementById("btn-adic").disabled = true;
            document.getElementById("btn-limp").disabled = true;
        } else {
            alert('Ocorreu um erro ao tentar adicionar um produto.');
        }
    },
    error: function (xhr, status, error) {
        console.error("Erro na requisição:", error);
    }
});

Adicione um manipulador de erro para capturar qualquer erro durante a requisição AJAX.

 

Certifique-se de que a função adicionarRelac no seu controlador PHP está recebendo e processando os dados corretamente.

Exemplo de Código PHP

 

<?php
public function adicionarRelac() {
    $idPrds = $this->input->post('idPrds');
    $idEmps = $this->input->post('idEmps');
    $idProdutos = $this->input->post('idProdutos');
    
    // Verifique se os valores estão recebendo os dados corretos
    if($idPrds && $idEmps && $idProdutos) {
        // Processar a adição do relacionamento
        $result = $this->produtos_model->adicionarRelacionamento($idPrds, $idEmps, $idProdutos);
        if ($result) {
            echo json_encode(['result' => true]);
        } else {
            echo json_encode(['result' => false]);
        }
    } else {
        echo json_encode(['result' => false, 'message' => 'Dados insuficientes']);
    }
}

Exemplo de Método do Modelo

 

<?php
public function adicionarRelacionamento($idPrds, $idEmps, $idProdutos) {
    $data = [
        'idPrds' => $idPrds,
        'idEmps' => $idEmps,
        'idProdutos' => $idProdutos
    ];
    return $this->db->insert('produtos_relacionados', $data);
}

Certifique-se de que a função adicionarRelacionamento no seu modelo está configurada corretamente para receber os dados e inserir no banco de dados:

 

<?php
public function adicionarRelacionamento($idPrds, $idEmps, $idProdutos) {
    $data = [
        'idPrds' => $idPrds,
        'idEmps' => $idEmps,
        'idProdutos' => $idProdutos
    ];
    return $this->db->insert('produtos_relacionados', $data);
}

Código PHP OOP/PDO Atualizado para Adicionar Relacionamento

Aqui está o exemplo do código PHP para adicionar um relacionamento entre produtos, atualizado para PDO e OOP:

 


<?php
class Database {
    private $host = 'localhost';
    private $db_name = 'bancodedados';
    private $username = 'usuario';
    private $password = 'senha';
    public $conn;

    public function __construct() {
        $this->connect();
    }

    private function connect() {
        $dsn = "mysql:host={$this->host};dbname={$this->db_name};charset=utf8";
        try {
            $this->conn = new PDO($dsn, $this->username, $this->password);
            $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            echo "Connected successfully<br>";
        } catch (PDOException $e) {
            echo "Connection failed: " . $e->getMessage();
            exit;
        }
    }

    public function query($sql, $params = [], $fetch = false) {
        $stmt = $this->conn->prepare($sql);
        $stmt->execute($params);
        if ($fetch) {
            return $stmt->fetchAll(PDO::FETCH_ASSOC);
        }
        return $stmt;
    }
}
?>


<?php
// Inclua sua configuração PDO
require_once 'path/to/Database.php';

// Crie uma nova instância do PDO
$db = new Database();
$pdo = $db->getConnection();

// Adicionar Relacionamento
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $idPrds = $_POST['idPrds'] ?? null;
    $idEmps = $_POST['idEmps'] ?? null;
    $idProdutos = $_POST['idProdutos'] ?? null;

    if ($idPrds && $idEmps && $idProdutos) {
        $sql = "INSERT INTO produtos_relacionados (idPrds, idEmps, idProdutos) VALUES (:idPrds, :idEmps, :idProdutos)";
        $stmt = $pdo->prepare($sql);

        $result = $stmt->execute([
            ':idPrds' => $idPrds,
            ':idEmps' => $idEmps,
            ':idProdutos' => $idProdutos
        ]);

        if ($result) {
            echo json_encode(['result' => true]);
        } else {
            echo json_encode(['result' => false, 'message' => 'Erro ao adicionar relacionamento']);
        }
    } else {
        echo json_encode(['result' => false, 'message' => 'Dados insuficientes']);
    }
}

// Fechar a conexão com o banco de dados
$pdo = null;
?>

Revise todas as partes do código, garantindo que os valores estejam sendo passados e processados corretamente. Verifique tanto o lado do cliente (JavaScript) quanto o lado do servidor (PHP) para garantir que a comunicação entre eles esteja correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida:
      Como consigo fazer uma rotina no sistema onde possa fazer de forma automática trazer o resultado de entrada de produtos a cada 3 meses, por exemplo:

      Produtos --- Entrada ---  Meses
      Prod_A -------- 100 ------ 01/2024
      Prod_A -------- 120 ------ 03/2024
      Prod_A -------- 105 ------ 04/2024
      =========================
      Prod_B -------- 105 ------ 02/2024
      Prod_B -------- 120 ------ 03/2024
      Prod_B -------- 130 ------ 04/2024
      =========================
      ETC
       
      Como consigo mostrar para o usuário esse movimento de entrada a cada 3 meses ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Peço desculpa em recorrer a ajuda dos amigos, pois está sendo um mistério para mim, configurar o meu sistema para Impressão de XML e NFe.

      Quando acrescento as linhas no início do Controller:
      use NFePHP\NFe\Make;
      use NFePHP\NFe\Tools;
      use NFePHP\NFe\Danfe;
      etc, etc.
       
       e chamo a libraries assim em alguma função:  $nfe = new Make(); e etc. <== o sistema acusa que não consegue achar 
       
      fiz as alterações necessárias no autoload
      /* |-------------------------------------------------------------------------- | Composer auto-loading |-------------------------------------------------------------------------- | | Enabling this setting will tell CodeIgniter to look for a Composer | package auto-loader script in application/vendor/autoload.php. | | $config['composer_autoload'] = TRUE; | | Or if you have your vendor/ directory located somewhere else, you | can opt to set a specific path as well: | | $config['composer_autoload'] = '/path/to/vendor/autoload.php'; | | For more information about Composer, please visit http://getcomposer.org/ | | Note: This will NOT disable or override the CodeIgniter-specific | autoloading (application/config/autoload.php) */ $config['composer_autoload'] = './vendor/autoload.php';  
      o meu composer.json está assim:
      { "description": "The CodeIgniter framework", "name": "codeigniter/framework", "type": "project", "homepage": "https://codeigniter.com", "license": "MIT", "support": { "forum": "http://forum.codeigniter.com/", "wiki": "https://github.com/bcit-ci/CodeIgniter/wiki", "irc": "irc://irc.freenode.net/codeigniter", "source": "https://github.com/bcit-ci/CodeIgniter" }, "require": { "php": ">=5.3.7", "mpdf/mpdf": "^7.1", "nfephp-org/sped-nfe": "^5.0", "nfephp-org/sped-da": "^1.0" }, "suggest": { "paragonie/random_compat": "Provides better randomness in PHP 5.x" }, "autoload": { "psr-4": { "Libraries\\": "application/libraries" } } }  
      após instalar a NFePhp através do composer, o caminho da pasta NFePhp está assim:
      nome_do_meu_sistema
      |____ application
      |______vendor
      |________nfephp-org
      |__________sped-common
      |__________sped-da
      |__________sped-gtin
      |__________sped-nfe

      Como consigo trazer os comando/libraries da NFe para poder utilizar no projeto.
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida e não estou conseguindo resolver.
       
      Tenho uma tabela onde o usuário lança a Entrada de Produtos <=== até aqui tudo bem.

      O problema que estou encontrando é: 
      - após lançar os itens e se por alguma necessidade precisar fazer devolução, gostaria de alterar o STATUS do lançamento do PRODUTO de 1 para 2, ou seja:
       
      lançou:
      101 - Caneta ------- 10 x 1.50 = 15,00 status = 1
      102 - Lápis --------- 10 x 1.50 = 15,00 status = 1
      103 - Borracha ---- 10 x 1.50 = 15,00 status = 1
      104 - Apontador - 10 x 1.50 = 15,00 status = 1
       
      Se precisar DEVOLVER os itens 102 e 103 o Status de 1 passa para 2, ou seja:
      101 - Caneta ------- 10 x 1.50 = 15,00 status = 1
      102 - Lápis --------- 10 x 1.50 = 15,00 status = 2
      103 - Borracha ---- 10 x 1.50 = 15,00 status = 2
      104 - Apontador - 10 x 1.50 = 15,00 status = 1
       
      Obs.: como consigo filtrar o CódigoProduto + NúmeroLançamento, para não ocorrer o erro de alterar todos.
       
      O problema que estou enfrentando, quando dou o Comando para Alterar, o Sistema Altera todos os produtos lançados que estiver na base de dados, ou seja, onde tiver 102 e 103, o sistema altera.
       
      o meu código:
      CONTROLLER
      /*Salva o Detalhe do Lançamento*/ protected function save_detalhe($prods,$qtde,$vlrunit,$vlrtotal,$notaLct,$numlcto,$codslct){ for ($i=0; $i < count($prods); $i++) { $data = array( 'cod_prod' => $prods[$i], 'qtd_prod' => $qtde[$i], 'vlr_unit' => $vlrunit[$i], 'vlr_total' => $vlrtotal[$i], 'status' => 2, 'devitens' => 2, 'n_nf' => $notaLct, 'lancamentos_idlcto'=> $numlcto, ); //Função para Salvar os Detalhes do lançamento $this->devolucao_model->save_detalhe($data); //Função para Atualizar a Quantidade de Produto no Estoque $this->update_produto($prods[$i],$qtde[$i],$vlrunit[$i],$vlrtotal[$i]); //Função para Alterar Devolução do Item $this->upd_itens($prods[$i],$notaLct[$i],$codslct[$i]); } } /*<=== até aqui tudo certo, como deve ser feito*/ /* * O Problema está aqui * para não ocorrer duplicidade de Lançamento, * o sistema altera o Status do 1º. lançamento */ protected function upd_itens($idprds,$notaLct,$codslct){ $data = array( 'devitens' => 2, ); $this->devolucao_model->update_itens($idprds,$data); }  
      MODEL:
      //Altera o Campo Devolução do Item Lançado //Altera todos os código de produto que encontrar public function update_itens($idprds,$data){ $this->db->where("cod_prod",$idprds); return $this->db->update("lctos_itens",$data); }  
      Grato,
       
      Cesar






       
       
       
       
       
       
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida e não consigo entender, fiz várias pesquisas e tentativas antes de recorrer aos amigos.

      Tenho uma CLASS e quando chamo dentro de um CONTROLLER o sistema acusa que não acha o caminho da CLASS.
      Como consigo fazer para o sistema localizar/chamar a CLASS dentro do Controller ?

      a classe está assim:
       
      <?php namespace Servicos; use NFePHP\NFe\Make; use NFePHP\NFe\Tools; error_reporting(E_ALL); ini_set('display_errors', 'On'); class NFeServicos{ public function __construct($config, $empresas){ //codes... } }  
      Controller:
       
      <?php defined('BASEPATH') OR exit('No direct script access allowed'); use NFePHP\Common\Certificate; use NFePHP\DA\NFe\Danfe; use Servicos\NFeServico; //chamo a class class NotaFiscal extends CI_Controller { public function gerarXml() { $id = $this->input->post('idLct'); $this->load->model('estoque/lancamentos_model', '', true); $venda = $this->lancamentos_model->getById($id); $nfe = new NFeServico(); //<o erro acontece aqui, não localiza. } }  
       
      Grato,
       
      Cesar
    • Por belann
      Olá!
       
      Não estou conseguindo criar um projeto laravel está dando o seguinte erro: 
      In Factory.php line 654:
        The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex
        tension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.
       
      Já baixei a versão openssl 3.3.1 e instalei no diretório ext do php, mas não sei se tem que configurar alguma coisa no php.ini.
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.