Ir para conteúdo
freitaz

Esta inserindo invés de alterar o formulário php alguém poderia me ajudar?

Recommended Posts

Essa parte é da tela de Cadastro 


                                            <?php
                                            $executivo = new Executivo();

                                            if ($_SERVER["REQUEST_METHOD"] == "GET") {
                                                //Using GET
                                                $titulo = $_GET['titulo'];
                                                $categoria = $_GET['categoria'];
                                                $file = $_GET['arquivo'];
                                                $action = $_GET['action'];
                                            }

                                            if (isset($_POST["exepublicar"])) {
                                                $titulo = $_POST['titulo'];
                                                $categoria = $_POST['categoria'];
                                                $action = $_POST['action'];
                                                $file = $_POST['filetext'];
                                                #Informações do Arquivo
                                                // Check if the form was submitted
                                                if ($_SERVER["REQUEST_METHOD"] == "POST") {
                                                    // Check if file was uploaded without errors
                                                    $filename = $_FILES["file"]["name"];
                                                    $filetype = $_FILES["file"]["type"];
                                                    $filesize = $_FILES["file"]["size"];

                                                    // Verify file extension
                                                    $ext = pathinfo($filename, PATHINFO_EXTENSION);


                                                    // Verify file size - 5MB maximum
                                                    $maxsize = 5 * 1024 * 1024;
                                                    if ($filesize > $maxsize)
                                                        die("ERRO: Tamanho máximo de arquivo igual a 5MB.");


                                                    // Check whether file exists before uploading it
                                                    if (file_exists("uploads/executivo/" . $_FILES["file"]["name"])) {
                                                        echo $_FILES["file"]["name"] . " já existe na pasta.";
                                                    } else {
                                                        move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/executivo/" . $_FILES["file"]["name"]);
                                                    }
                                                }

                                                #fim do Arquivo

                                                print_r($fmsg);
                                                $executivo->setTitulo($titulo);
                                                $executivo->setCategoria($categoria);
                                                $executivo->setArquivo($filename);
                                                try {
                                                    if ($action == "alterar") {
                                                        if ($filename == "") {
                                                            $executivo->setArquivo($file);
                                                        } else {

                                                            if (file_exists("uploads/executivo/" . $file)) {
                                                                $path = 'uploads/executivo/' . $file;
                                                                unlink($path);
                                                            }
                                                        }
                                                        $executivo->update($executivo->getTitulo(), $executivo->getCategoria(), $executivo->getArquivo());
                                                        $texto = "Atualizado com sucesso";
                                                    } else {
                                                        $executivo->insert($executivo->getTitulo(), $executivo->getCategoria(), $executivo->getArquivo());
                                                        $texto = "Inserido com sucesso";
                                                    }

                                                    print_r($texto);
                                                } catch (PDOException $e) {
                                                    echo 'ERRO: ' . $e->getMessage();
                                                }
                                            }
                                            ?>

a parte da classe 

 

 public function update($titulo, $categoria, $arquivo) {
        try {
            $sql = "UPDATE $this->table SET titulo = :titulo, categoria = :categoria, arquivo= :arquivo WHERE id = :id";
            $stmt = DB::prepare($sql);
            $stmt->execute(array('id' => $id, 'titulo' => $titulo, 'categoria' => $categoria, 'arquivo' => $arquivo));
        } catch (PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
    }

Quando efetuo a alteração ele insere e não atualiza, 

desde já agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não apresenta erro?!

Estranho... deveria mostrar erro nessa linha:

11 horas atrás, freitaz disse:

$stmt->execute(array('id' => $id, 'titulo' => $titulo, 'categoria' => $categoria, 'arquivo' => $arquivo));

 

Em seu método você passa por parâmetro $titulo, $categoria, $arquivo

E adiciona esses valores ao statements, o que até aí tudo bem, mas...

id = :id

'id' => $id

 

Em nenhum momento a variável $id é criada "que deveria está dentro do escopo no método", enfim, acredito que a coluna id seja INT e AUTO_INCREMENT por isso não dar erro, quando a PDO envia o valor envia NULL e o sql trata de corrigir o erro por naturalidade devido as propriedades da coluna.

Daí acredito eu que na verdade o sql pega o último registro insere +1 e registra os novos dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu exclui o id que estava errado mesmo...

 

Olha o erro que da 

 

 

 

11 horas atrás, Omar~ disse:

Daí acredito eu que na verdade o sql pega o último registro insere +1 e registra os novos dados.

 

Desculpe sou um pouco leigo em algumas coisas, o senhor poderia me explica como arrumaria esse registro do sql.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu para ver em detalhes os erros, só deu para perceber que o php dar erro ao tentar processar índices de array que não foram definidas, no casso arrays super-globais GET ou POST (não deu para ver qual é).

Isso acontece porque o arquivo que processa não recebeu esses dados e logo está tentando usar eles.

Então no que posso ajudar no momento é lhe dando dicas.

 

  • Tudo deve ser tratado antes de salvamento, o que inclui a verificação de sua existência

Exemplo:

Spoiler

<?php
if (count($_POST)) {
  // Dados de POST existem
  if (!isset($_POST['alguma_coisa'])) {
    // post alguma coisa não existe
  } else if (empty($_POST['alguma_coisa'])) {
    // post alguma coisa está vazio
  } else if ((strlen($_POST['alguma_coisa']) < 5) || (strlen($_POST['alguma_coisa']) > 10)) {
    // post alguma coisa ou possui menos de 5 caracteres ou mais de 10
  } else if (!preg_match('/^([a-zA-Z À-ú 0-9]+)$/i', $_POST['alguma_coisa'])) {
    // O valor  de post alguma coisa possui algum tipo de caractere expecial que não é espaço
  }
  // ----
  else {
    // terminei as verificações que queria fazer, entro com o restante do código
  }
} else {
  // O arquivo não recebou nenhum índice a super-global POST
}

 

E por aí vai, fazendo todo e qualquer tipo de verificação dos dados antes de querer usar-los, Lógico que isso é um exemplo genérico, pois o tratamento de um input vai muito mais além, na prática é possuir um método de uma classe para fazer a verificação, justamente para não ficar recriando toda uma sequência de código para cada entrada de um post como exemplo, assim sendo podemos convocar o método de verificação apenas passando por parâmetro o dado que queremos verificar.

 

  • Antes da manipulação de dados confirme sua existência, um truque é depurar antes de começar.

Exemplo como eu faço:

Digamos então que eu vá salvar dados de um formulário. Vou lá crio o form com os inputs e tudo mais (SEM FORMATAÇÃO CSS o design é a última coisa que se deve pensar em fazer por ser a coisa mais simples).

Então vou enviar os dados para o arquivo salva.php. Antes de começar a escrever o salva.php coloco isso nele.

var_dump($_POST); isso se eu estiver a enviar dados do tipo post se for get usa-se $_GET.

O php vai me informar corretamente todos os dados que eu enviei, basta que eu der um CTRL + C no resultado na tela que eu terei corretamente todos os inputs, assim previno erros de digitação que normalmente geram (Notice: Undefined index)

 

  • Tenha bom senso na identação e lógica programacional.

Fica muito mais simples para você ou outra pessoa dar manutenção no sistema no futuro. (A falta do conceito das boas práticas é o que mais me estressa quando sou contratado para consertar aplicações "é cada coisa bizarra que chega em minhas mãos")

Veja algumas incoerências de seu arquivo:

Em 16/10/2018 at 11:41, freitaz disse:

if ($_SERVER["REQUEST_METHOD"] == "GET") {

Isso não está errado. A condição diz se o servidor enviar um get faça, mas....

 

Em 16/10/2018 at 11:41, freitaz disse:

if (isset($_POST["exepublicar"])) {

Dentro dessa condição está

Em 16/10/2018 at 11:41, freitaz disse:

if ($_SERVER["REQUEST_METHOD"] == "POST") {

Se já existe o post porque verificar se o método de envio é post?

Mas o tratamento inicial não era get?

 

Por fim:

3 horas atrás, freitaz disse:

Eu exclui o id que estava errado mesmo...

E como vai fazer o updade se não não informar qual registro é para atualizar?

Você deveria capturar no caso o ID através de um select no formulário e repassar esse valor para o arquivo que vai salvar os dados, lógico que o método update deve ter a condicional na entrada de parâmetros.

 

Obs.: A PDO não faz updade se realmente não houver modificações em dados. Na simples explicação é como se a biblioteca fizesse a leitura comparasse os dados, se estão iguais, nada acontece.

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 Jonas Ribeiro Nascimento
      Estou criando meu próprio mvc php para adquirir mais conhecimento.
      Mas estou me deparando com uma coisa muita estranha, eu perco a $_SESSION de uma view para outra view
      Fiz um codigo simples pra testar.a.php ----- view a.php
      <?php session_start(); $_SESSION['teste'] = 'Funcionou'; echo $_SESSION['teste']; ?> <?php session_start(); echo $_SESSION['teste']; // Notice: Undefined variable: _SESSION in var_dump($_SESSION); // Notice: Undefined variable: _SESSION in NULL ?> <?php namespace Sis\Classes; use App\Model\ClassLogin; use Sis\Traits\TraitGetIp; class ClassSession { private $login; private $timeSession = 1200; private $timeCanary = 300; public function __construct(){ if(session_id() == ''){ ini_set("session.save_handler", "files"); //Cabeçalhos somente atraves de arquivos ini_set("session.use_cookies", 1); //Habilita o uso de cookies ini_set("session.use_only_cookies", 1); //Só pode habilitar a seção atraves de coockies ini_set("session.cookie_domain", DOMAIN); //Só aceita coockies vindo do nosso sistema ini_set("session.cookie_httponly", 1); //Só aceita script php e não deixa o javascript alterar o sistema if(DOMAIN != "localhost"){ ini_set("session.cookie_secure", 1); //Para trabalhar com o SSL do servidor ativo } /*Criptografia das nossas sessions*/ ini_set("session.entropy_length", 512); // ini_set("session.entropy_file","/dev/urandom"); ini_set("session.hash_function", "sha256"); ini_set("session.hash_bits_per_character", 5); session_start(); } $this->login = new ClassLogin(); } #Proteger contra roubo de sessão public function setSessionCanary($par=null){ session_regenerate_id(true); if($par == null){ $_SESSION['canary']=[ "birth" => time(), "IP" => TraitGetIp::getUserIp() //Pega o ip do usuario ]; }else{ $_SESSION['canary']['birth']=time(); } } #Verificar a integridade da sessão public function verifyIdSessions(){ if(!isset($_SESSION['canary'])){ $this->setSessionCanary(); } if($_SESSION['canary']['IP'] !== TraitGetIp::getUserIp()){ $this->destructSessions(); $this->setSessionCanary(); } if($_SESSION['canary']['birth'] < time() - $this->timeCanary){ $this->setSessionCanary("Time"); } } #Setar as sessões do nosso sistema public function setSessions($Email){ $this->verifyIdSessions(); $_SESSION['Login'] = true; $_SESSION['Time'] = time(); $_SESSION['Nome'] = $this->login->getIssetSession($Email)['data']['Nome']; $_SESSION['Email'] = $this->login->getIssetSession($Email)['data']['Email']; $_SESSION['Permissoes'] = $this->login->getIssetSession($Email)['data']['Permissoes']; } #Validar as páginas internas do sistema public function verifyInsideSession(){ $this->verifyIdSessions(); if(!isset($_SESSION['Login']) || !isset($_SESSION['Permissoes']) || !isset($_SESSION['canary'])){ $this->destructSessions(); header("Location: ".DIRPAGE."NaoAutorizado"); }else{ if($_SESSION['Time'] >= time() - $this->timeSession){ $_SESSION['Time']=time(); }else{ $this->destructSessions(); header("Location: ".DIRPAGE."NaoAutorizado"); } } } #Destruir as sessions existentes public function destructSessions(){ foreach (array_keys($_SESSION) as $key) { unset($_SESSION[$key]); } } #testar public function testarSessions(){ echo 'oiiiiiiiiiiiiiiiiiiiiiiooooooooooo'; } }

    • Por Allan Carlos dos Santos G
      Bom dia Pessoal, Gostaria de saber como Instalar e colocar pra rodar a versão do Zend PHP 1.11.11, tenho tido dificuldade de achar material na internet e se puderem ajudar, obrigado!
    • Por Perroni91
      Olá pessoal.
      Estou com uma dúvida, mas como sou leiga no mysql, não estou conseguindo resolver.
       
      Tenho duas tabelas no meu banco de dados:
       
      Posts
      id
      titulo_principal
      categoria_id
      imagem
       
      Categorias
      id
      categoria
       
      ---

      Já cadastrei as categorias 'HTML' e 'CSS', e cada um contêm 1 post de cada.

      O que eu gostaria era que: A cada vez que criar um post em alguma dessas categorias, mostrar a quantidade separadamente.

      Ficaria assim:
      HTML               3
      CSS                   1


      Alguém poderia me ajudar, por favor?
      Estou quebrando a cabeça tentando fazer isso e não consegui.
      Obrigada!
    • Por Rogerio Pancini
      Bom dia pessoal!

      Estou com seguinte caso: preciso fazer uma coleta de dados, que no caso seria esta seleção:
       
      $sql_c_1 = mysqli_query($config, "SELECT DISTINCT id_malote FROM boletosdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_1) <= '0'){ $c_sql_c_1[] = ""; }else{ while($r_sql_c_1 = mysqli_fetch_array($sql_c_1)){ $c_sql_c_1[] = $r_sql_c_1[0]; } } $sql_c_2 = mysqli_query($config, "SELECT DISTINCT id_malote FROM caixasdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_2) <= '0'){ $c_sql_c_2[] = ""; }else{ while($r_sql_c_2 = mysqli_fetch_array($sql_c_2)){ $c_sql_c_2[] = $r_sql_c_2[0]; } } $sql_c_3 = mysqli_query($config, "SELECT DISTINCT id_malote FROM notasfiscaisdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_3) <= '0'){ $c_sql_c_3[] = ""; }else{ while($r_sql_c_3 = mysqli_fetch_array($sql_c_3)){ $c_sql_c_3[] = $r_sql_c_3[0]; } } $sql_c_4 = mysqli_query($config, "SELECT DISTINCT id_malote FROM documentosdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_4) <= '0'){ $c_sql_c_4[] = ""; }else{ while($r_sql_c_4 = mysqli_fetch_array($sql_c_4)){ $c_sql_c_4[] = $r_sql_c_4[0]; } } $sql_c_5 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_cheque_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_5) <= '0'){ $c_sql_c_5[] = ""; }else{ while($r_sql_c_5 = mysqli_fetch_array($sql_c_5)){ $c_sql_c_5[] = $r_sql_c_5[0]; } } $sql_c_6 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_holerite_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_6) <= '0'){ $c_sql_c_6[] = ""; }else{ while($r_sql_c_6 = mysqli_fetch_array($sql_c_6)){ $c_sql_c_6[] = $r_sql_c_6[0]; } } $sql_c_7 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_material_grafico_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_7) <= '0'){ $c_sql_c_7[] = ""; }else{ while($r_sql_c_7 = mysqli_fetch_array($sql_c_7)){ $c_sql_c_7[] = $r_sql_c_7[0]; } } $sql_c_8 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_outros_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_8) <= '0'){ $c_sql_c_8[] = ""; }else{ while($r_sql_c_8 = mysqli_fetch_array($sql_c_8)){ $c_sql_c_8[] = $r_sql_c_8[0]; } } $sql_c_9 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_dinheiro_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_9) <= '0'){ $c_sql_c_9[] = ""; }else{ while($r_sql_c_9 = mysqli_fetch_array($sql_c_9)){ $c_sql_c_9[] = $r_sql_c_9[0]; } } $sql_c_10 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_dep_pessoal_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_10) <= '0'){ $c_sql_c_10[] = ""; }else{ while($r_sql_c_10 = mysqli_fetch_array($sql_c_10)){ $c_sql_c_10[] = $r_sql_c_10[0]; } }
      Eu até fiz teste com arrays.
      Se eu der um implode, consigo fazer o select que preciso:
       
      if(!empty($c_sql_c_1)){ $v_c_sql_c_1 = implode(",",$c_sql_c_1); }else{ $v_c_sql_c_1 = ""; }
       
      $sql_3 = mysqli_query($config, "SELECT ma.id, ma.titulo, ma.datadecadastro, usr.nome, ma.id_estabelecimento_origem, ma.id_estabelecimento_destino, ma.status, ma.id_usuario_envio FROM malote ma LEFT JOIN usuario AS usr ON (ma.id_usuario_envio = usr.id) WHERE ma.id_estabelecimento_origem = '$id_estabelecimento' && ma.id_usuario_cadastro = '$id_usuario' OR ma.id_estabelecimento_destino = '$id_estabelecimento' && ma.id_usuario_cadastro = '$id_usuario' OR ma.status = '1' && ma.id_estabelecimento_origem = '$id_estabelecimento' OR ma.status = '2' && ma.id_estabelecimento_origem = '$id_estabelecimento' OR ma.status = '1' && ma.id_estabelecimento_destino = '$id_estabelecimento' OR ma.status = '2' && ma.id_estabelecimento_destino = '$id_estabelecimento' OR ma.id IN ($v_c_sql_c_1) ORDER BY ma.datadecadastro DESC") or die(mysqli_error($config)); }
      Porém, eu precisaria fazer o select com todos os resultados acima.

      Fiz outro teste, concatenando todos:
       
      echo $v_c_sql_c_1 . " " . $v_c_sql_c_2 . " " . $v_c_sql_c_3 . " " . $v_c_sql_c_4 . " " . $v_c_sql_c_5 . " " . $v_c_sql_c_6 . " " . $v_c_sql_c_7 . " " . $v_c_sql_c_8 . " " . $v_c_sql_c_9 . " " . $v_c_sql_c_10;
      E o resultado foi esse:

      312,317 312,317,324 312

      Apesar de não estar bonito, se funcionasse poderia ser assim, mas o $sql_3 não lê, por ter espaços sem vírgula, além do resultado estar errado, por ter id's repetidos.

      Se alguém tiver alguma ideia da forma mais correta de chegar ao resultado final, eu agradeço.
      Pensei em formar um array, com o array_merge, mas não deu certo também.
      Enfim, a ideia é juntar todos os resultados, de forma não repetida, para incluir no $sql_3.

      Obrigado pela atenção.
       
    • Por Claudia França
      Prezados há dias consegui chegar no fim do projeto e, agora resta apenas corrigir o erro que ocorro no fim da transação. "Atualizar informações de pagamento. "
       Eu tenho aqui a doc. Mas não seu exatamente o que alterar no código para corrigir isso. E preciso de ajuda,
       
      https://www.userede.com.br/desenvolvedores/pt/produto/e-Rede#documentacao-3ds
       
      function updatePaymentAPI($apikey, $secret, $callid, $currencyCode,$total, $subtal){
          $time = time();
          $query_string = "apikey=".$apikey;
          $resource = "payment/info/".$callid;
          $body = "{\"updateInfo\":[{\"payInfo\":{\"reason\":\"ProductionKey Test\",
          \"avsResponseCode\":\"Y\",\"total\":".$total.",\"currencyCode\":\"".$currencyCode."\",
          \"eventStatus\":\"Success\",\"eventType\":\"Authorize\"}},{\"orderInfo\":{\"currencyCode\":\"".$currencyCode."\",
          \"discount\":0,\"eventType\":\"Confirm\",\"giftWrap\":0,\"misc\":0,
          \"reason\":\"Order_placed\",\"shippingHandling\":0,\"subtotal\":".$subtal.",\"tax\":0,\"total\":".$total."}}]}";
          $certificatePath = 'cert.pem';
          $privateKey = 'key_9e082920-8ec4-441a-8cfa-588b0829d326.pem';
          //Hash for x-pay-token
          $token = $time.$resource.$query_string.$body;
          $hashtoken = "xv2:".$time.":".hash_hmac('sha256', $token, $secret); //X-PAY-TOKEN String
          //$url = "https://api.visa.com/wallet-services-web/".$resource."?".$query_string;
          $url = "https://api.visa.com/wallet-services-web/".$resource."?".$query_string;
          updatePaymentLog("=========================================\n\n");
          updatePaymentLog("CallID : ".$callid."\n");
          updatePaymentLog("URL : ".$url."\n\n");
          updatePaymentLog("Update Payment Request Parameters : \n");
          updatePaymentLog($body);
          //Header
          $header = (array("X-PAY-TOKEN: ".$hashtoken, "Accept: application/json", "Content-Type: application/json","X-FRAME-OPTIONS: SAMEORIGIN"));
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_URL, $url);
          curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($ch, CURLOPT_SSLVERSION , 1);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
          //curl_setopt($ch, CURLOPT_SSLCERT, $certificatePath);
          //curl_setopt($ch, CURLOPT_SSLKEY, $privateKey);
          curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
          curl_setopt($ch, CURLOPT_POSTFIELDS,$body);
          //getting response from server
          $response = curl_exec($ch);
          if(!$response) {
              die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
          }
          $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
          curl_close($ch);
          $json = "";
          $ret = array(
            'status' =>"",
            'data' => ""
          );
          if($statusCode == 200) { //If success => empty Object.
              $ret['status'] = 'success';
              updatePaymentLog("\nUpdate Payment Info called Successfully...\n");
          }else{ // Return Error Object
              $ret['status'] = 'fail';
              $ret['data'] = $response;
              updatePaymentLog("\nSomething Went Wrong....\n");
              $json = json_decode($response);
              $json = json_encode($json, JSON_PRETTY_PRINT);
          }
          updatePaymentLog("\nStatus Code : " . $statusCode ."\n");
          updatePaymentLog($json);
          updatePaymentLog("\n");
          echo json_encode($ret);
      }
      updatePaymentAPI($visaApiKey, $sharedSecret, $callid, $currencyCode, $total, $subtotal);
      ?>
       
       
       
       
       
×

Informação importante

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