Ir para conteúdo
Fórum Script Brasil

Carlos Rocha

Membros
  • Total de itens

    1.300
  • Registro em

  • Última visita

Tudo que Carlos Rocha postou

  1. Mas fiote meu mano. Então, como eu saio dessa? Tentei assim mas não deu tb. Não funciona, e nem da erro no depurador: function valida_form_pesquisas(form) { if ( document.getElementsByTagName('escolha')[0].checked==false && document.getElementsByTagName('escolha')[1].checked==false && document.getElementsByTagName('escolha')[2].checked==false ) { alert("Selecione um tipo de pesquisa!"); document.getElementsByTagName('escolha')[0].focus(); return (false); } Outra pergunta: Se eu tenho: document.pesquisas.escolha.length; E, se o nome do form pesquisas tiver que ser passado como parametro (nome_form). como eu faria? Tipo: document.+nome_form+.escolha.length; Assim não deu.
  2. Olá pessoal. Tenho trez radios button com o mesno name e ID. Estou tentando checar se algum deles está checkado. Mas, o depurador diz: "Não é possível obter valor da propriedade 'checked': o objeto é nulo ou não definido" if ( document.getElementById('escolha')[0].checked==false && document.getElementById('escolha')[1].checked==false && document.getElementById('escolha')[2].checked==false ) { alert("Selecione um tippo de pesquisa!"); document.getElementById('escolha')[0].focus(); return (false); } Eis o campo: <input type="radio" id="escolha" name="escolha" value="emissao" onclick="abre('emissaoini');abre('emissaofim');fecha('entradaini');fecha('entradafim');fecha('fornecedores');" />Por data Emissão<br /> <input type="radio" id="escolha" name="escolha" value="entrada" onclick="fecha('emissaoini');fecha('emissaofim');abre('entradaini');abre('entradafim');fecha('fornecedores');" />Por data Entrada<br /> <input type="radio" id="escolha" name="escolha" value="fornecedor" onclick="fecha('emissaoini');fecha('emissaofim');fecha('entradaini');fecha('entradafim');abre('fornecedores');" />Por Fornecedor Onde estou errando? Depois, preciso validar se o primeiro esta checado, se o segundo ou o terceiro. Grato.
  3. ola pessoal. Tenhpo o select abaixo: <select name="fornecedor" id="fornecedor" size="1" onChange="entrega_valor(this.fidelidade_fornecedor_select, 'fidelidade')" style="width:180px"> <option value="<?php echo $id_fornecedor;?>" selected><?php echo $nome_fornecedor;?></option>"; <?php $fornecedores= " select fornecedores.id, concat( IFNULL(fornecedores.nome, ''), IFNULL (fornecedores.razaosocial , '' )), percentual_fidelidade from fornecedores "; $fornecedores= mysql_query($fornecedores); while(list($id_fornecedores, $nome_fornecedores, $fidelidade_fornecedor_select)=mysql_fetch_row($fornecedores)) { echo "<option value='$id_fornecedores' fidelidade_fornecedor_select='$fidelidade_fornecedor_select'>$nome_fornecedores</option>"; } ?> </select> <br /> Percentual Fidelidade: <label id="fidelidade" name="fidelidade"><?php echo $fidelidade_fornecedor;?></label>% A ideia aqui é pegar o id e o nome do fornecedor para preencher o select Para isso, faço a query acima. Mas, tem um campo da tabela de fornecedores, percentual_fidelidade, que a cada vez que o fornecedor é trocado na select, preciso chamar uma funçao no onchange que irá substituir o innerHtml do label fidelidade. A funçao esta funcionando, testei com o value do campo e deu certo. Mas , como eu poderia no select receber um terceiro argumento para envia-lo no onchange? Tentei criando um parametro 'fidelidade_fornecedor_select' mas não aceita. (Geralmente faço isso com textboxs e funciona normal)
  4. Carlos Rocha

    Ajuda com lógica

    Bom, estou colocando um js dentro do valor de uma variavel php. Mas, quando chamo a variavel php, envez de ela executar o codigo js, esta imprimindo. O que est errado? $mensagem1= $resultadodoarray[0][1]; $mensagem = "<script>document.getElementById('{$i}[observa_cli]')].value=$mensagem1</script>"; $marcado= $resultadodoarray[0][3]; if($marcado==1){ echo "<script>document.getElementById('{$i}[radio_pgto]')[0].checked=true</script>";} if($marcado==2){ echo "<script>document.getElementById('{$i}[radio_pgto]')[1].checked=true</script>";} Ideia 1: chamar $mensagem dentro do value de um type text. Esta mostrando o texto e não executa o js Idéia 2: marcar um radio button de dois indices. Não esta marcando Grato a quem puder ajudar.
  5. Carlos Rocha

    Ajuda com lógica

    Puxa pessoal. ninguém? Ainda não consegui!
  6. Carlos Rocha

    Ajuda com lógica

    Bom, criei essa função que varre o array e procura por uma combinação de valores entre os fornecedor e lista da vez do while e uma combinaçao com o conteudo do carrinho: function array_array2($MeuCarrinho, $id_fornecedor, $id_lista ) { $par_item = $MeuCarrinho->getParItemObservavp(); for( $cl = 0; $cl< count( $par_item ); $cl++ ) { if( $id_fornecedor == $par_item[ $cl ] [ 4 ] and $id_lista == $par_item[ $cl ] [ 2 ] ) { return true; } } return false; } Se, ao chamar a funçao, tiver true como resposta, como faço para, no moe da array que houve combinação, pegar os valores dos indices, 1 (mensagem) e 3(tipo de pagamento, mas só o nó da combinaçao? Array ( [0] => Array ( [0] => 83 - codigo produto [1] => Vai - mensagem [2] => 2 - lista [3] => 2 - tipo de pagamento [4] => 7 - codigo fornedor. ) [1] => Array ( [0] => 89 [1] => [2] => 1 [3] => 2 [4] => 13 )
  7. Carlos Rocha

    Ajuda com lógica

    Entendi. Mas minha dificuldade esta exatamente ai: Na tela que exibe os produtos, você pode notar que tem listando os produtos, por fornecedor, para a lista selecionada. Para exibir o primeiro while com os dados do fornecedor, eu uso essa query: $sql_fornece = " SELECT fornecedores.id, concat( IFNULL(fornecedores.nome, ''), IFNULL (fornecedores.razaosocial, '' )), concat( IFNULL(fornecedores.cpf, ''), IFNULL (fornecedores.cnpj, '' )), produtos_lista.id_lista, fornecedores.pgto_forma, fornecedores.pgto_prazo from produtos_lista inner join produtos on produtos_lista.id_produto = produtos.id inner join fornecedores on fornecedores.id = produtos.fornecedor inner join grupos on produtos.grupo = grupos.id_grupo where produtos_lista.id_lista = $id_lista group by fornecedores.id order by concat( IFNULL(fornecedores.nome, ''), IFNULL (fornecedores.razaosocial , '' )), produtos.nome "; Depois, para cada fornecedor mostrado nesse query, eu listo os produtos dele: $sql_produtos = " SELECT pl.id_lista, p.foto, pl.id_produto, p.nome, f.id, concat( IFNULL(f.nome, ''), IFNULL (f.razaosocial , '' )), g.nome, p.quantidadecaixa, pl.preco_produto, pl.condicao, pl.observacao, pl.imposto from produtos_lista pl inner join produtos p on pl.id_produto = p.id inner join fornecedores f on f.id = p.fornecedor inner join grupos g on p.grupo = g.id_grupo where pl.id_lista = $lista_fornece and f.id=$id_fornece order by concat(f.nome, f.razaosocial), p.nome "; Acontece, que na hora de enviar para o carrinho, eu envio apenas os dados que constam no while dos produtos. E ai, não estou sabendo montar: Até onde eu cheguei: Criei uma função dentro do carrinho, que guarda os codigos dos produtos, as listas, deles, e os fornecedores. isso, nesse teste que fiz, retornou um array assim: 2 produtos adicinados ao carrinho até agora: Array ( [0] => Array ( [0] => 83 - codigo produto [1] => Vai - mensagem [2] => 2 - lista [3] => 2 - tipo de pagamento [4] => 7 - codigo fornedor. ) [1] => Array ( [0] => 89 [1] => [2] => 1 [3] => 2 [4] => 13 ) Analisando a figura segunda imagem, como eu poderia verificar qual mensagem, tipo de pagamento, escolhido para aquele fornecedor naquela lista?
  8. Olá pessoal, preciso de uma Ajuda com lógica aqui. Seguinte: Tenho um form que lista produtos separados por fornecedor e por lista de produtos. Esse form ofereçe ainda a possibilidade de o cliente enviar uma mensagem não fornecedor daquele produto naquela lista. A seguência seria assim: Aqui, o cliente escolhe a lista de produtos: Aqui, o cliente tem os produtos separados por fornecedor naquela lista de produtos, escolhe os produtos colocando a quantidade e deixa uma mensagem ao fornecedor(caso queira): Depois de submetido, o form envia os dados para o carrinho: Agora preciso, voltar para escolher outro produto que esqueci de escolher naquela lista e clciko em voltar. Aqui esta a minha dificuldade: Gostaria aqui de, chegando á lista escolhida, entregar os valores já gravados no carrinho aos campos observação do cliente ao fornecedor e já setar qual opção de pagamento escolhi quando enviei os produtos, se foi à vista ou á prazo no campos Condição de pagamento. Alguém me ajuda? Grato a quem ajudar.
  9. Ola pessoal. Com faço para testar, via codigo, se curl funciona. Sem recorrer ao php.ini. tipo if(curl_init()=='funciona') { print 'funcionou'; } else { print 'não funcionou'; } Tem jeito?
  10. No teu caso, você criou o array assim: txtQtd[] E eu criei assim: {$i}[txt_Quantidade] Como contornar essa situação?
  11. Bom, estou quase conseguindo: <form action="carrinho.php?op=adicionar" method="post" name="envia_tudo"> <input type="text" id="1[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="2[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="3[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="4[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="5[quant]" value="0" onblur="calcula(this.value)"><br> <input type="submit"><p><p> </form> <script> function calcula() { for (i=0;i<4;i++) { //valor_total=+eval(document.form.i[quant].value); campo = 'document.getElementById('+i+'[quant]).value'; valor_total=+eval(campo); } valor_nota = valor_total; document.getElementById('labeltotal').innerHTML = valor_nota } </script> <label id="labeltotal"></label> Aqui anda teem alguns problemas: No caso dos imnputs assim: <input type="text" id="1[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="2[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="3[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="4[quant]" value="0" onblur="calcula(this.value)"><br> <input type="text" id="5[quant]" value="0" onblur="calcula(this.value)"><br> Como é que eu vou, uma vez que eles são gerads dinamicamente pelo php, transformar isso em uma array para calcular seu tamanho e fazer o proximo passo: .. for (i=0;i<4;i++) => No caso esse 4 seria o tamanho do array; .. Outro dilema é como é que vou somar acumulativamente os valores dos inputs: //valor_total=+eval(document.form.i[quant].value); campo = 'document.getElementById('+i+'[quant]).value'; valor_total=+eval(campo); Seria assim mesmo? No caso, isso esta retornando assim: document.getElementById(0[quant]).value E não: document.getElementById('0[quant]').value Como arrumar isso? Grato a quem puder ajudar.
  12. Olá pessoal. Boa noite. Tenho um form e dentro desse form tenho um while php que vai adicionando campos ao form conforme for o numero de registros de uma consulta sql. Bom, tenho uma função que , ao passo que preenchemos o value do campo quantidade por exemplo, é feito um calculo para saber quanto daria o valor total do preço desse produto vezes a quantidade colocada sem submeter o form e colocar esse valor em um label. // JavaScript Document function calculo(qtde, vl, quant, quan, label) { total = qtde * vl; total = format_number(total,2); document.getElementById(quan).value=qtde; document.getElementById(label).innerHTML=total; } Agora gostaria de montar um função que, ao deixar o campo (após colocar a quantidade), faz uma varrida por todos os labeis om seus respectivos valores e dê um valor total para todos os ítens que os valores das suas quantidades forma alteras de 0 (padrão). Preciso da ajuda de vocês. Segue meu codigo <table border=1 width=800 align=center> <tr><td colspan=11 align=center><h4>Para comprar o produto, informe a quantidade de ítens na coluna Quantidade<br>e clicke no botão "Enviar todos os ítens" no final da lista.<br>Para NÃO comprar o produto, deixar a coluna Quantidade com o valor 0 (zero). <br> Caso quera adicionar alguma observação do produto, preencha o campo Observaçao Cliente.</td><tr> <tr> <td colspan='11' align='center'>O valor total da nota até agora é de R$0.00</td> </tr> <tr> <td align=center>Lista</td> <td align=center>Condição</td> <td align=center>Produto</td> <td align=center>Qtde.<br>na caixa</td> <td align=center>Preço por<br>unidade<br>na caixa</td> <td align=center>Preço Caixa</td> <td align=center>Quantidade</td> <td align=center>Sub Total</td> <td align=center>Observação<br>Empresa</td> </tr> <form action="carrinho.php?op=adicionar" method="post" name="envia_tudo"><tr><td align=left colspan=6>Fornecedor: &nbsp;&nbsp;Malta S/A - CNPJ= 11.111.111/1111-11</td> <td align=left colspan=5><font color="red">Condição de pagamento:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="radio" name="0[radio_pgto]" id="0[radio_pgto]" value="1" checked="checked" onclick="fecha('0[div_pgto_prazo]'); entrega_valores(2,0, this.value,'radio_pgto' )""> À vista <input type="radio" name="0[radio_pgto]" id="0[radio_pgto]" value="2" onclick="abre('0[div_pgto_prazo]'); entrega_valores(2,0, this.value,'radio_pgto' )""> À prazo <div id="0[div_pgto_prazo]" style="display:none"> Prazos para pagamento para produtos deste fornecedor: <label id="label_prazo">30 dias</label> </div> </td></tr><input type="hidden" name="1[radio_pgto]" id="1[radio_pgto]" value="1"><input type="hidden" name="0[label_prazo]" id="0[label_prazo]" value="30 dias"><input type="hidden" name="1[label_prazo]" id="1[label_prazo]" value="30 dias"> <tr><td align=left colspan=11><font color="red">Observação do cliente para o fornecedor:</font>&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" onBlur="entrega_valores(2,0, this.value,'observa_cli' )"\ name="0[observa_cli]" id="0[observa_cli]" value="" style="border-color:black"> </td></tr><input type="hidden" name="1[observa_cli]" id="1[observa_cli]" value=""><input type="hidden" name="0[id_prod]" id="0[id_prod]" value="3"> <input type="hidden" name="0[quan]" id="0[quan]" value=""> <input type="hidden" name="0[id_lista]" name="0[id_lista]" value="1"> <input type="hidden" name="0[imposto]" name="0[imposto]" value="10.00"> <tr> <td align=center>1</td> <td align=letf>Encarte</td> <td align=let>Cevada</td> <td align=center>15</td> <td align=right>R$ 0.24</td> <td align=right>R$ 3.63</td> <td align=right> <input type=text id=0[quant] value=0 size=2 style="text-align: center;" onKeyPress="BloqueiaLetras();" onchange="calculo(this.value, 3.63,'0[quant]','0[quan]','0[label_preco]');" > </td> <td align=right>R$ <label id="0[label_preco]">0.00</label></td> <td align=left>Sem observação</td> </tr><input type="hidden" name="1[id_prod]" id="1[id_prod]" value="6"> <input type="hidden" name="1[quan]" id="1[quan]" value=""> <input type="hidden" name="1[id_lista]" name="1[id_lista]" value="1"> <input type="hidden" name="1[imposto]" name="1[imposto]" value="20.00"> <tr> <td align=center>1</td> <td align=letf>Complemento</td> <td align=let>Pão</td> <td align=center>12</td> <td align=right>R$ 0.32</td> <td align=right>R$ 3.84</td> <td align=right> <input type=text id=1[quant] value=0 size=2 style="text-align: center;" onKeyPress="BloqueiaLetras();" onchange="calculo(this.value, 3.84,'1[quant]','1[quan]','1[label_preco]');" > </td> <td align=right>R$ <label id="1[label_preco]">0.00</label></td> <td align=left>Sem observação</td> </tr> <tr> <td align=center valign="middle" colspan=11 height=50> <input type="submit" value="Enviar todos os ítens"> </form> </td> </tr> <tr> <td align=center valign="middle" colspan=11 height=50> <a href="java script:history.go(-1);">Voltar</a> </td> </tr> </form></table> Olá Pessoal. Talvez vocês não tenham me entendido muito bem. A função que eu tenho, calcula o valor Quant X preço, quando digito a quantidade de produtos (no produto daquela linha). Porem, são vários os produtos que aparecem no form. Na verdade, é um while php para listar os produtos dentro d form. Então eu terei no form n produtos para eu escolher e colocar a quantidade. O que eu queria era saber como que eu vou, após colocar a quantidade em um campo, varrer todos os outros campos e ver seu valor para somar e informar o valor total da nota. Resumindo o form, Seria mais ou menos assim: <form action="carrinho.php?op=adicionar" method="post" name="envia_tudo"> <input type=text id=1[quant] value="0" onchange="calculo(this.value, 3.84,'1[quant]','1[quan]','1[label_preco]');" > <input type=text id=2[quant] value="0" onchange="calculo(this.value, 3.84,'2[quant]','2[quan]','2[label_preco]');" > <input type=text id=3[quant] value="0" onchange="calculo(this.value, 3.84,'3[quant]','3[quan]','3[label_preco]');" > <input type=text id=4[quant] value="0" onchange="calculo(this.value, 3.84,'4[quant]','4[quan]','4[label_preco]');" > <input type=text id=5[quant] value="0" onchange="calculo(this.value, 3.84,'5[quant]','5[quan]','5[label_preco]');" > ............. <input type=text id=n[quant] value="0" onchange="calculo(this.value, 3.84,'n[quant]','n[quan]','n[label_preco]');" > <input type="submit"> </form> Aqui, a cada vez que eu uso a função calculo, ele calculo ptecoXQuantidade, para o produto daquel textbox. Preciso agora pega esse valor somar aos demais texbox
  13. Pois é. Fiz uma função mas não esta dando certo. Esta zerando o que vem do banco. Onde estou errando? while(list($id_lista, $foto, $id_produto, $nome_produto, $id_fornece, $nome_razao_fornece, $nome_grupo, $quantidadecaixa, $preço, $condicao,$observacao, $imposto) = mysql_fetch_row($sql_produtos_query)) { if(session_is_registered("MeuCarrinho")) { function array_array() { for( $cl = 0; $cl< count( $MeuCarrinho->getParItem() ); $cl++ ) { if($id_produto == $MeuCarrinho->getParItem[ $cl ] [ 0 ] and $id_lista == $MeuCarrinho->getParItem[ $cl ] [ 1 ]) { return true; break; } } return false; } $par_item = $MeuCarrinho->getParItem(); if (array_array()==false) { echo "<input type=\"hidden\" name=\"{$i}[id_prod]\" id=\"{$i}[id_prod]\" value=\"$id_produto\"> <input type=\"hidden\" name=\"{$i}[quan]\" id=\"{$i}[quan]\" value=\"\"> <input type=\"hidden\" name=\"{$i}[id_lista]\" name=\"{$i}[id_lista]\" value=\"$id_lista\"> <input type=\"hidden\" name=\"{$i}[imposto]\" name=\"{$i}[imposto]\" value=\"$imposto\"> "; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src='../img/saiba_mais.png' alt='Saiba Mais'>"; if ($observacao=="") {$observacao="Sem observação";} if ($condicao==1) {$condicao="Complemento";} if ($condicao==2) {$condicao="Encarte";} $vp2 = $vp - 1; $ob2 = $ob - 1; echo "<tr> <td align=center>$id_lista</td> <td align=letf>$condicao</td> <td align=let>$nome_produto</td> <td align=center>$quantidadecaixa</td> <td align=right>R$ ". number_format($preço/$quantidadecaixa, 2, '.', '')."</td> <td align=right>R$ ". number_format($preço, 2, '.', '')."</td> <td align=right> <input type=text id={$i}[quant] value=0 size=2 style=\"text-align: center;\" onKeyPress=\"BloqueiaLetras();\" onchange=\"calculo(this.value, $preço,'{$i}[quant]','{$i}[quan]','{$i}[label_preco]');\" > </td> <td align=right>R$ <label id=\"{$i}[label_preco]\">0.00</label></td> <td align=left>$observacao</td> </tr>"; $i++; } } }
  14. Bom, estive pensando no seguinte: uma vez que tenho o array: $MeuCarrinho->getParItem(); Que retorna (por exemplo) Array ( [0] => Array ( [0] => 3 (Codigo) [1] => 2 (Lista) [2] => 1 (Quantidade) [3] => 3.30132 (preço) ) [1] => Array ( [0] => 4 (Codigo) [1] => 2 (Lista) [2] => 2 (Quantidade) [3] => 5.0015 (preço) ) [2] => Array ( [0] => 5 (Codigo) [1] => 2 (Lista) [2] => 3 (Quantidade) [3] => 15.6 (preço) ) ) E posso criar um array com o codigo e a lista do produto exibido em cada laço do while: $laco_while[]=array(array($id_produto,$id_lista)); Que retorna (por exemplo) Array ( [0] => Array ( [0] => 3 (Codigo) [1] => 2 (Lista) ) ) Como faço para pesquisar no Array $MeuCarrinho->getParItem(); se tem alguma combinação igual ao Array $laco_while[]? Pensei na função array_search() mas ela só busca string dentro da array;
  15. Ficou assim: Obrigado: $par_item = $MeuCarrinho->getParItem(); if (count( $par_item )>0) { for( $i = 0; $i< count( $par_item ); $i++ ) { if( $id_produto == $par_item[ $i ] [ 0 ] and $id_lista == $par_item[ $i ] [ 1 ] ) { echo "Par Combina!".$i; } } }
  16. Bom. Com um pouco de ajuda estou avançando. Com essa array: Array ( [0] => Array ( [0] => 3 (codigo) [1] => 3 (Lista) ) [1] => Array ( [0] => 1 (codigo) [1] => 4 (Lista) ) ) Ou essa (ai será a forma que vocês dominarem mais). Array ( [0] => Array ( [0] => 3 (codigo) [1] => 1 (codigo) ) [1] => Array ( [0] => 3 (Lista) [1] => 4 (Lista) ) ) Estando dentro de um while: while() { ...... $codigo, $lista // de cada produto } Como posso comparar os resultados e ver, se dentro daquele array tem algum para que seja identico?
  17. Deixa me ver se facilita. Dando um print_r() em toda a classe carrinho sai o seguinte:(No momento desse teste claro. rsrs) TCarrinho Object ( [item_codigo] => Array ( [0] => 3 [1] => 6 [2] => 1 ) [item_quantidade] => Array ( [0] => 2 [1] => 3 [2] => 2 ) [item_lista] => Array ( [0] => 2 [1] => 2 [2] => 4 ) [item_observa_cli] => Array ( [0] => [1] => [2] => ) [item_pgto_tipo] => Array ( [0] => 1 [1] => 1 [2] => 1 ) [item_pgto_prazo] => Array ( [0] => 30 dias [1] => 30 dias [2] => ) [item_imposto] => Array ( [0] => 0.04 [1] => 0.00 [2] => 0.00 ) ) Preciso pegar as combinações item_codigo,item_lista que há nesse array e ver se em algum laço do while os fields codigo e lista são iguais à quanquer um no array.
  18. Olá pessoal. Boa Noite! Estou implementando aqui o carrinho de compras e, dando um print_r($Carrinho); na classe carrinho, em um determinado momento retornou: TCarrinho Object ( [item_codigo] => Array ( [0] => 3 [1] => 6 [2] => 3 ) [item_quantidade] => Array ( [0] => 2 [1] => 4 [2] => 5 ) [item_lista] => Array ( [0] => 1 [1] => 1 [2] => 5 ) [item_observa_cli] => Array ( [0] => [1] => [2] => ) [item_pgto_tipo] => Array ( [0] => 1 [1] => 1 [2] => 1 ) [item_pgto_prazo] => Array ( [0] => 30 dias [1] => 30 dias [2] => 30 dias ) [item_imposto] => Array ( [0] => 10.00 [1] => 20.00 [2] => 0.00 ) ) Eu tenho em uma página, uma lista (while) que me retorna para cada laço, dois dados de preodutos: id_produtos lista_do produto Eu gostaria de, a cada volta do while, conferir no print_r() se tem uma dupla de item_codigo x item_lista que seja igual à dupla do while id_produtos lista_do produto Se sim, marcar uma chekbox na formulario de produtos e desbilitar o botão enviar do mesmo. Como faço isso?
  19. Ola pessoal. Gostaria da ajuda de vocês para fazer essa consulta: select colunistas.nome_colunista, entrevistado.nome_entrevistado from colunistas, entrevistado De forma tal que os resultados saiam ordenados por nome. Tipo assim, saiu : colunistas.nome_colunista, entrevistado.nome_entrevistado Alex , Pedro João , Tadeu Daí ele ordene assim: Nomes Alex João Pedro Tadeu. Tem jeito de fazer isso?
  20. O problema do booleano era que a variavel $Pedido->capturar = 'false'; estava assim: $Pedido->capturar = false; E ai não estava aceitando. Mas isso ai resolveu. Agora só esta restando o problema de que, mesmo enviando os dados do cartão ainda é redirecionado para uma pagina que solicita os dados do cartão. Vê o que tem de errado: <?php require "../includes/include.php"; $Pedido = new Pedido(); $tipoParcelamento=3; //Administradora // Lê dados do $_POST $Pedido->formaPagamentoBandeira = $_POST["codigoBandeira"]; $Pedido->formaPagamentoProduto = 3; // Administradora if($_POST["formaPagamento"] != "A" && $_POST["formaPagamento"] != "1") { $Pedido->formaPagamentoProduto = $tipoParcelamento; $Pedido->formaPagamentoParcelas = $_POST["formaPagamento"]; } else { $Pedido->formaPagamentoProduto = $_POST["formaPagamento"]; $Pedido->formaPagamentoParcelas = 1; } //$Pedido->formaPagamentoParcelas = $_POST["formaPagamento"]; $Pedido->dadosEcNumero = CIELO; $Pedido->dadosEcChave = CIELO_CHAVE; $Pedido->capturar = 'false'; $Pedido->autorizar = 2; $Pedido->dadosPedidoNumero = $_POST["NUMPEDIDO"]; $Pedido->dadosPedidoValor = str_replace(",", "",str_replace(",", "", $_POST["TOTAL"])); $Pedido->urlRetorno = ReturnURL(); // ENVIA REQUISIÇÃO SITE CIELO $objResposta = $Pedido->RequisicaoTransacao(false); $Pedido->tid = $objResposta->tid; $Pedido->pan = $objResposta->pan; $Pedido->status = $objResposta->status; $urlAutenticacao = "url-autenticacao"; //$urlAutenticacao = "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do"; $Pedido->urlAutenticacao = $objResposta->$urlAutenticacao; // Serializa Pedido e guarda na SESSION $StrPedido = $Pedido->ToString(); $_SESSION["pedidos"]->append($StrPedido); echo '<script type="text/javascript"> window.location.href = "' . $Pedido->urlAutenticacao . '" </script>'; ?> include.php <?php require 'errorHandling.php'; require_once 'pedido.php'; require_once 'logger.php'; define('VERSAO', "1.1.0"); session_start(); if(!isset($_SESSION["pedidos"])) { $_SESSION["pedidos"] = new ArrayObject(); } // CONSTANTES define("ENDERECO_BASE", "https://qasecommerce.cielo.com.br"); define("ENDERECO", ENDERECO_BASE."/servicos/ecommwsec.do"); define("LOJA", "1006993069"); define("LOJA_CHAVE", "25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3"); define("CIELO", "1001734898"); define("CIELO_CHAVE", "e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832"); // Envia requisição function httprequest($paEndereco, $paPost){ $sessao_curl = curl_init(); curl_setopt($sessao_curl, CURLOPT_URL, $paEndereco); curl_setopt($sessao_curl, CURLOPT_FAILONERROR, true); // CURLOPT_SSL_VERIFYPEER // verifica a validade do certificado curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYPEER, true); // CURLOPPT_SSL_VERIFYHOST // verifica se a identidade do servidor bate com aquela informada no certificado curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYHOST, 2); // CURLOPT_SSL_CAINFO // informa a localização do certificado para verificação com o peer curl_setopt($sessao_curl, CURLOPT_CAINFO, getcwd() . "/ssl/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt"); curl_setopt($sessao_curl, CURLOPT_SSLVERSION, 3); // CURLOPT_CONNECTTIMEOUT // o tempo em segundos de espera para obter uma conexão curl_setopt($sessao_curl, CURLOPT_CONNECTTIMEOUT, 10); // CURLOPT_TIMEOUT // o tempo máximo em segundos de espera para a execução da requisição (curl_exec) curl_setopt($sessao_curl, CURLOPT_TIMEOUT, 40); // CURLOPT_RETURNTRANSFER // TRUE para curl_exec retornar uma string de resultado em caso de sucesso, ao // invés de imprimir o resultado na tela. Retorna FALSE se há problemas na requisição curl_setopt($sessao_curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($sessao_curl, CURLOPT_POST, true); curl_setopt($sessao_curl, CURLOPT_POSTFIELDS, $paPost ); $resultado = curl_exec($sessao_curl); curl_close($sessao_curl); if ($resultado) { return $resultado; } else { return curl_error($sessao_curl); } } // Monta URL de retorno function ReturnURL() { $pageURL = 'http'; if ($_SERVER["SERVER_PORT"] == 443) // protocolo https { $pageURL .= 's'; } $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $pageURL .= $_SERVER["SERVER_NAME"]. substr($_SERVER["REQUEST_URI"], 0); } // ALTERNATIVA PARA SERVER_NAME -> HOST_HTTP $file = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1); $ReturnURL = str_replace($file, "retorno_cartao.php", $pageURL); return $ReturnURL; } ?>
  21. Bom, vamos tentar de outra forma: Utilizando novamente o modelo do manual, Agora só resta um erro para corrigir mas não acho ele. Ocorreu um erro em sua transação! Detalhes do erro: Código do erro: 001 Mensagem: O XML informado não é valido: - Invalid boolean value '': ''
  22. Ainda não consegui e grato na quem puder contribuir. Todo xml que eu coloco da pagina em branco. E, quando vou ver o que tem em Exibir-> codigo fonte, dá isso: string(194) "<?xml version="1.0" encoding="ISO-8859-1"?> <erro xmlns="http://ecommerce.cbmp.com.br"><codigo>001</codigo><mensagem>XML inválido: 'error: XML declaration is not well-formed'.</mensagem></erro> " int(0) string(0) "" Seguindo no manual da Cielo. Cheguei nesse xml: <?php /** * Template do XML que será usado para criação da mensagem */ $autenticacao =' <?xml version="1.0" encoding="ISO-8859-1"?> <requisicao-transacao id="1" versao="1.0.0" xmlns="http://ecommerce.cbmp.com.br"> <dados-ec> <numero>1001734898</numero> <chave>e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832</chave> <nome>eden</nome> <codigo-pais>097</codigo-pais> </dados-ec> <dados-portador> <numero>285813768<</numero> <validade>201212</validade> <indicador>1</indicador> <codigo-seguranca>1</codigo-seguranca> <nome-portador>José Elias</nome-portador> </dados-portador> <dados-pedido> <numero>23</numero> <valor>100</valor> <moeda>986</moeda> <data-hora>'.date("Y-m-d").'T'.date("H:i:s").'</data-hora> <descricao></descricao> <idioma>PT</idioma> </dados-pedido> <forma-pagamento> <bandeira>1</bandeira> <produto>1</produto> <parcelas>1</parcelas> </forma-pagamento> <url-retorno>http://localhost/php/silvinhoeletronica.com.br/retorno_cartao.php</url-retorno> <autorizar>2</autorizar> <capturar>false</capturar> <campo-livre></campo-livre> <bin>813768</bin> </requisicao-transacao> '; $afiliacao = 123456; $chave = 'chave'; $loja = 'Sua Loja'; $pedido = 123; $valor = 100; $data = strftime( '%Y-%m-%dT%H:%M:%S' ); $produto = '1'; $parcelas = 1; $retorno = sprintf( 'http://teste.sualoja.com.br/pedido/%d' , $pedido ); $mensagem = sprintf( $autenticacao , $afiliacao , $chave , $loja , $pedido , $valor , $data , $produto , $parcelas , $retorno ); $curl = curl_init(); if ( is_resource( $curl ) ){ curl_setopt($curl, CURLOPT_CAINFO, getcwd() . "/ssl/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt"); curl_setopt($curl, CURLOPT_SSLVERSION, 3); curl_setopt( $curl , CURLOPT_HEADER , 0 ); curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 ); curl_setopt( $curl , CURLOPT_FOLLOWLOCATION , 1 ); curl_setopt( $curl , CURLOPT_URL , 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do' ); curl_setopt( $curl , CURLOPT_POST , 1 ); curl_setopt( $curl , CURLOPT_POSTFIELDS , http_build_query( array( 'mensagem' => $mensagem ) ) ); $xml = curl_exec( $curl ); $ern = curl_errno( $curl ); $err = curl_error( $curl ); curl_close( $curl ); if ( (bool) $ern ){ echo 'Opz, ocorreu um erro[' , $ern , ']: ' , $err; } else { var_dump( $xml , $ern , $err ); } } else { echo 'Opz, não foi possível criar o recurso da cURL'; } ?> Obrigado ESerra.
×
×
  • Criar Novo...