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. Sim, posso sim. Você observou os names dos campos do formulario? Pois bem, eles foram dados em forma de array {$i}[nome_do_campo], por que esse form receberá um while(list()) de registros. Então, um campo aparecerá "n" vezes. Entende? Pois é. Agora, preciso validar esse campos antes de enviar o form.
  2. Pessoal, Tenho o form abaixo. que tem um while dentro para exibir campos de registros do banco. Acontece que, por causa do while, terei os nomes dos campos em forma de matriz. Segue o form: echo "<form action=\"carrinho.php?op=adicionar\" name=\"adcionatodos\" id=\"adcionatodos\" method=\"post\">"; $i=0; while(list($id, $nome_produto, $preço, $foto, $quantidadecaixa, $descricao, $nome_fornecedor, $razao_fornecedor, $idfornece,$nome_grupo) = mysql_fetch_row($sql2)){ echo "<input type=\"hidden\" name=\"{$i}[id_prod]\" id=\"{$i}[id_prod]\" value=\"$id\"> <input type=\"hidden\" name=\"id_fornece\" id=\"id_fornece\" value=\"$id_fornece\"> "; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src=../img/saiba_mais.png alt='Saiba Mais'>"; echo "<tr> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_grupo</td> <td align=center><a href='?acao=saibamais&id=$id&id_fornece=$id_fornece'>$icone</a></td> <td align=right>$quantidadecaixa &nbsp;</td> <td align=left>&nbsp;R$ <input size=4 type=\"text\" name=\"{$i}[novo_preco]\" id=\"{$i}[novo_preco]\" value=\"$preço\" size=\"08\" style=\"text-align:right\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"></td> <td align=center> <input size=4 type=\"text\" name=\"{$i}[novo_imposto]\" id=\"{$i}[novo_imposto]\" value=\"0\" size=\"08\" style=\"text-align:center\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"> %</td> <td align=center><input type=checkbox name=\"{$i}[marcado]\"></td> <td align=center valign=\"middle\"> <select name=\"{$i}[condicao]\" id=\"{$i}[condicao]\" > <option value=\"#\">Condição</option> <option value=\"1\">Complemento</option> <option value=\"2\">Encarte</option> </select> </td> <td align=\"center\"> <a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[condicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&condicao='+document.getElementById('{$i}[condicao]').value\" > Enviar </a> </td> </tr>"; $i++; } echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"button\" onclick=\"return confirmacondicao('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[marcado]','{$i}[condicao]');\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; } ?> Bom, diante disso, como eu poderia criar uma função em Java Script para validar por exemplo o campo {$i} [condicao], que é um select option? Em um dado retorno do banco, deu um print_r($_post) para ver o que chegava do formulario e saiu o seguinte. Array ( [0] => Array ( [id_prod] => 3 [novo_preco] => 3.30 [novo_imposto] => 0 [condicao] => # ) [id_fornece] => 2 [1] => Array ( [id_prod] => 4 [novo_preco] => 2.50 [novo_imposto] => 0 [marcado] => on [condicao] => 2 ) [2] => Array ( [id_prod] => 6 [novo_preco] => 3.20 [novo_imposto] => 0 [condicao] => # ) ) Como faço essa validaçao?
  3. Entedi sim. E com certeza vai ajudar bastante. Mas, como resolver o problema do onclick?
  4. Sobre a validação, fiz assim: // JavaScript Document function validaprodutoadcionado(form,campo2,campo3,campo5) { if(document.getElementById(campo2).value=="") { alert("Preencha o campo Preço: campo obrigatório!!!"); document.getElementById(campo2).focus(); return (false); } if(document.getElementById(campo3).value=="") { alert("Preencha o campo Imposto: campo obrigatório!!!"); document.getElementById(campo3).focus(); return (false); } if(document.getElementById(campo5).value=="#") { alert("Escolha Posição: campo obrigatório!!!"); document.getElementById(campo5).focus(); return (false); } } Porem, como a chamada <a href=\"#\" onclick=\"return validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[condicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&condicao='+document.getElementById('{$i}[condicao]').value\" > Enviar </a> esta pedindo um return, quando do fim da validação, se não der erro nenhum, o href não segue seu destino.
  5. Deu assim: document.forms is not a function [Parar neste erro] if(document.forms(form).item(2).value=="") Segue minha função validaprodutoadcionado: // JavaScript Document function validaprodutoadcionado(form,campo2,campo3,campo5) { if(document.forms(form).item(campo2).value=="") { alert("Preencha o campo Preço: campo obrigatório!!!"); document.forms(form).item(campo2).focus(); return (false); } if(document.forms(form).item(campo3).value=="") { alert("Preencha o campo Imposto: campo obrigatório!!!"); document.forms(form).item(campo3).focus(); return (false); } if(document.forms(form).item(campo5).value=="#") { alert("Escolha Posição: campo obrigatório!!!"); document.forms(form).item(campo5).focus(); return (false); } }: E a chamada: <a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[posicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&posicao='+document.getElementById('{$i}[posicao]').value\" > Enviar </a> E o formulario:<? if ($acao== "mostra_produtos"){ if (!$nomerazao){ $sql_nomerazao = mysql_query("select nome, razaosocial from fornecedores where id = $id_fornece"); list($nome_do_fornecedor, $razao_do_fornecedor) = mysql_fetch_row($sql_nomerazao); $nomerazao= $nome_do_fornecedor.$razao_do_fornecedor; } $sql = "select p.id, p.nome as nome_produto, p.preço, p.foto, p.quantidadecaixa, p.descricao, f.nome as nome_fornecedor, f.razaosocial as razao_fornecedor, f.id as idfornece, g.nome from produtos p inner join fornecedores f on p.fornecedor = f.id inner join grupos g on p.grupo = g.id_grupo where p.fornecedor = $id_fornece order by f.nome, f.razaosocial "; $sql2=mysql_query($sql); echo "<table border=1 width=800 align=center> <tr><td colspan=10 align=center><h3>Produtos de: $nomerazao</h3></td></tr> <tr><td colspan=10 align=center><a href='?acao=mostra_fornecedores'>Escolher outro fornecedor</a.</td></tr> <tr> <td align=center>Foto</td> <td align=center>Produto</td> <td align=center>Grupo</td> <td align=center>Descrição</td> <td align=center>Qtde.<br>na caixa</td> <td align=center>Preço</td> <td align=center>Imposto (%)</td> <td align=center>Marcar para<br>todos os ítens</td> <td align=center>Posição</td> <td align=center>Adicionar</td> </tr> "; echo "<form action=\"carrinho.php?op=adicionar\" name=\"adcionatodos\" method=\"post\">"; $i=0; while(list($id, $nome_produto, $preço, $foto, $quantidadecaixa, $descricao, $nome_fornecedor, $razao_fornecedor, $idfornece,$nome_grupo) = mysql_fetch_row($sql2)){ echo "<input type=\"hidden\" name=\"{$i}[id_prod]\" id=\"{$i}[id_prod]\" value=\"$id\"> <input type=\"hidden\" name=\"id_fornece\" id=\"id_fornece\" value=\"$id_fornece\"> "; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src=../img/saiba_mais.png alt='Saiba Mais'>"; echo "<tr> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_grupo</td> <td align=center><a href='?acao=saibamais&id=$id&id_fornece=$id_fornece'>$icone</a></td> <td align=right>$quantidadecaixa &nbsp;</td> <td align=left>&nbsp;R$ <input size=4 type=\"text\" name=\"{$i}[novo_preco]\" id=\"{$i}[novo_preco]\" value=\"$preço\" size=\"08\" style=\"text-align:right\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"></td> <td align=center> <input size=4 type=\"text\" name=\"{$i}[novo_imposto]\" id=\"{$i}[novo_imposto]\" value=\"0\" size=\"08\" style=\"text-align:center\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"> %</td> <td align=center><input type=checkbox name=\"{$i}[marcado]\"></td> <td align=center valign=\"middle\"> <select name=\"{$i}[posicao]\" id=\"{$i}[posicao]\" > <option value=\"#\">Posiçao</option> <option value=\"1\">Complemento</option> <option value=\"2\">Encarte</option> </select> </td> <td align=\"center\"> <a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[posicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&posicao='+document.getElementById('{$i}[posicao]').value\" > Enviar </a> </td> </tr>"; $i++; } /* echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"button\" onclick=\"return confirmaposicao('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[marcado]','{$i}[posicao]');\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; */ echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"submit\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; } ?>
  6. Pessoal. Tenho o script abaixo que funciona no ie mas nõ funciona no firefox. No firefox simplemsnte não aparece problema mas o código não roda. Você clika e não acontece nada. O que preciso fazer para funcionar? <a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value\" > Enviar </a>
  7. Consegui assim: <script language=JavaScript> function carrega() { if (parent.menu.document.getElementById("enviar").innerHTML != "TODOS") { parent.menu.document.getElementById("radioreserva").style.display = 'block'; } } </script> </head> <body bgcolor="#FFFFFF" scroll="no" onload="carrega();" > Valeu!
  8. Pessoal. Boa Noite. Peguei na net aquele chat do Romano e me deparei com a seguine situação; Uma coisa me chamou a atenção. Quando mando mensagem privada para o usuario TODOS, eu, o usuario ue envia, vejo a mensagem reservada. Porem, os outros estinatarios não veem a mensagem. Porem, quando a mensagem é endereçada a cada um deles em privado. Ai, eles veem sim a mensagem. Se enviar a mensagem a TODOS sem ser privada todos veem mas se for privada, só que enviou ve. Como corrigir isso? como normalmente não consegui, ai fiz assim: Quando clikasse no usuario, no menu de usuarios, se esse usuario fosso o "TODOS", teria uma div (que seria desabilitada) com um radio button dentro. Quando o usuario não fosse o todos, ai sim a div seria habilitada e o clike no radio butoon habilitado tambem. Acontece que, numa coinversa em resevado, quando eu submeto a mensagem, a pagina da um reload e, como eu coloquei no carregamento da pagina que o style.block do radio buitton seria none. daí não sei como, apos o reload da pagina, eu saber que o usuario selecionado é o mesmo e que pode continua liberado a radio. Mais facil voces acessando: http://www.carcleo.com/chat2 Quem puder ajudar agradeço. Aqui esta a função que lista as mensagens: /** * Lista as mensagens da sala. **/ function msgs() { $i = "0"; $msgs=array(); $consulta = mysql_query("SELECT * FROM msg WHERE ((rem='".$this->nome."' OR dest='".$this->nome."' OR tipo='pub') && date > '$_SESSION[date]' && sala='".$this->sala."') ORDER BY date ASC;", $this->dbh); while ($row = mysql_fetch_array($consulta)) { $msgs[$i]["tipo"] = $row["tipo"]; $msgs[$i]["msg"] = $row["msg"]; $msgs[$i]["som"] = $row["som"]; $msgs[$i]["dest"] = $row["dest"]; $msgs[$i]["rem"] = $row["rem"]; $_SESSION['date'] = $row["date"]; $i++; } mysql_free_result($consulta); return $msgs; } Aqui esta o filtro <?php #################################### # # # MODIFICADO POR: JRF WEBMASTER # # VERSÃO ATUAL: 8.0 # # DATA: 01/08/2006 # # # #################################### include_once("./config.php"); include_once("./global.php"); include_once("./biblioteca/tbs_class.php"); $banco = new chat; $banco->dados($_GET['uid']); if($banco->block($_GET['uid'])){ $target="vai();"; }else{ $target=""; } if (empty($_SESSION['date'])) { $_SESSION['date'] = 0; } if (empty($_SESSION['header']) OR $_SESSION['header']!= $_GET['uid']) { $arquivo = "./templates/".$banco->config['modelo']['val']."/principal.htm"; $header = fopen($arquivo, "r"); $lido = fread($header, filesize($arquivo)); fclose($header); $limpa = addslashes($lido)."\n\n"; $limpa = str_replace("\t", "", $limpa); $limpa = str_replace("\r", "", $limpa); $limpa = str_replace("\n", "\\n", $limpa); $inicio = $limpa; $_SESSION['header'] = $_GET['uid']; } $model = new clsTinyButStrong; $model->LoadTemplate("./templates/".$banco->config['modelo']['val']."/inferior.htm"); $msgs = $banco->msgs(); $total = count($msgs); $cont = $banco->cont("TODOS"); $str = $ext = ""; $str .= (!empty($inicio)) ? $inicio : ""; for ($i = "0"; $i < $total; $i++) { $tipo = $msgs[$i]["tipo"]; $rem = $msgs[$i]["rem"]; $dest = $msgs[$i]["dest"]; $mensagem = addslashes($msgs[$i]["msg"]); $som = $msgs[$i]["som"]; if (empty($_SESSION['ignora'][$rem]) && empty($_SESSION['ignora'][$rem])) { $para = ($dest == $banco->nome) ? ' bgcolor=\"#cccccc\"' : ""; $codigo = '<table width=\"100%\" border=\"0\" cellspacing=\"5\" cellpadding=\"2\"><tr><td'.$para.'>'.$mensagem.'"+PlaySound("'.$som.'")+"</td></tr></table>'."\n"; $codigo = str_replace("\t", "", $codigo); $codigo = str_replace("\r", "", $codigo); $codigo = str_replace("\n", "\\n", $codigo); $str .= $codigo; } if (empty($inicio) && ($som == "entra" OR $som == "saida" OR $cont != $_SESSION['cont'])) { $ext .= "window.parent.nomes.location.reload();\n"; $_SESSION['cont'] = $cont; } } $banco->atualiza(); $refresh=10*$banco->config['refresh']['val']; $model->Show(); ?> <script language="Javascript"> function right(e) { if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)){ alert("Proibido a cópia do código desta página"); return false; } else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) { alert("Proibido a cópia do código desta página"); return false; } return true; } document.onmousedown=right; if (document.layers) window.captureEvents(Event.MOUSEDOWN); window.onmousedown=right; </script> Só não entendo porque o reservado a todos só vai para quem envia e o enviado a todos sem reserva vai para todos ois usuarios. Pela query ou pelo php não vejo logica. Segue tambem a estrutura da tabela: CREATE TABLE `msg` ( `msg` mediumtext, `date` datetime DEFAULT NULL, `rem` varchar(30) DEFAULT NULL, `dest` varchar(30) DEFAULT NULL, `som` varchar(20) DEFAULT NULL, `tipo` varchar(10) DEFAULT NULL, `sala` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  9. Puxa pessaol. Ainda não consegui resolver essa. Se alguém pudesse me ajudar e agradeceria muito.
  10. Tenta assim: SELECT modelo, count(distinct combustivel) as qtdecomb FROM anuncio group by modelo Ou então SELECT modelo, count(distinct combustivel) as qtdecomb FROM anuncio where modelo='corsa' Isso, caso voce queira os resultados para um veículo específico.
  11. Segue tambem a estrutura da tabela: CREATE TABLE `msg` ( `msg` mediumtext, `date` datetime DEFAULT NULL, `rem` varchar(30) DEFAULT NULL, `dest` varchar(30) DEFAULT NULL, `som` varchar(20) DEFAULT NULL, `tipo` varchar(10) DEFAULT NULL, `sala` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  12. Aqui esta a função que lista as mensagens: /** * Lista as mensagens da sala. **/ function msgs() { $i = "0"; $msgs=array(); $consulta = mysql_query("SELECT * FROM msg WHERE ((rem='".$this->nome."' OR dest='".$this->nome."' OR tipo='pub') && date > '$_SESSION[date]' && sala='".$this->sala."') ORDER BY date ASC;", $this->dbh); while ($row = mysql_fetch_array($consulta)) { $msgs[$i]["tipo"] = $row["tipo"]; $msgs[$i]["msg"] = $row["msg"]; $msgs[$i]["som"] = $row["som"]; $msgs[$i]["dest"] = $row["dest"]; $msgs[$i]["rem"] = $row["rem"]; $_SESSION['date'] = $row["date"]; $i++; } mysql_free_result($consulta); return $msgs; } Aqui esta o filtro <?php #################################### # # # MODIFICADO POR: JRF WEBMASTER # # VERSÃO ATUAL: 8.0 # # DATA: 01/08/2006 # # # #################################### include_once("./config.php"); include_once("./global.php"); include_once("./biblioteca/tbs_class.php"); $banco = new chat; $banco->dados($_GET['uid']); if($banco->block($_GET['uid'])){ $target="vai();"; }else{ $target=""; } if (empty($_SESSION['date'])) { $_SESSION['date'] = 0; } if (empty($_SESSION['header']) OR $_SESSION['header']!= $_GET['uid']) { $arquivo = "./templates/".$banco->config['modelo']['val']."/principal.htm"; $header = fopen($arquivo, "r"); $lido = fread($header, filesize($arquivo)); fclose($header); $limpa = addslashes($lido)."\n\n"; $limpa = str_replace("\t", "", $limpa); $limpa = str_replace("\r", "", $limpa); $limpa = str_replace("\n", "\\n", $limpa); $inicio = $limpa; $_SESSION['header'] = $_GET['uid']; } $model = new clsTinyButStrong; $model->LoadTemplate("./templates/".$banco->config['modelo']['val']."/inferior.htm"); $msgs = $banco->msgs(); $total = count($msgs); $cont = $banco->cont("TODOS"); $str = $ext = ""; $str .= (!empty($inicio)) ? $inicio : ""; for ($i = "0"; $i < $total; $i++) { $tipo = $msgs[$i]["tipo"]; $rem = $msgs[$i]["rem"]; $dest = $msgs[$i]["dest"]; $mensagem = addslashes($msgs[$i]["msg"]); $som = $msgs[$i]["som"]; if (empty($_SESSION['ignora'][$rem]) && empty($_SESSION['ignora'][$rem])) { $para = ($dest == $banco->nome) ? ' bgcolor=\"#cccccc\"' : ""; $codigo = '<table width=\"100%\" border=\"0\" cellspacing=\"5\" cellpadding=\"2\"><tr><td'.$para.'>'.$mensagem.'"+PlaySound("'.$som.'")+"</td></tr></table>'."\n"; $codigo = str_replace("\t", "", $codigo); $codigo = str_replace("\r", "", $codigo); $codigo = str_replace("\n", "\\n", $codigo); $str .= $codigo; } if (empty($inicio) && ($som == "entra" OR $som == "saida" OR $cont != $_SESSION['cont'])) { $ext .= "window.parent.nomes.location.reload();\n"; $_SESSION['cont'] = $cont; } } $banco->atualiza(); $refresh=10*$banco->config['refresh']['val']; $model->Show(); ?> <script language="Javascript"> function right(e) { if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)){ alert("Proibido a cópia do código desta página"); return false; } else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) { alert("Proibido a cópia do código desta página"); return false; } return true; } document.onmousedown=right; if (document.layers) window.captureEvents(Event.MOUSEDOWN); window.onmousedown=right; </script> Só não entendo porque o reservado a todos só vai para quem envia e o enviado a todos sem reserva vai para todos ois usuarios. Pela query ou pelo php não vejo logica.
  13. Pessoal. Boa Tarde! Após vaias e varias tentativas de entender, sem sussesso, decidi pedir a ajuda de voces. peguei aqui na internet o chat do Romano e observei que ele funciona bem. Porem, uma coisa me chamou a atenção. Quando mando mensagem privada para o usuario TODOS, eu, o usuario ue envia, vejo a mensagem reservada. Porem, os outros estinatarios não veem a mensagem. Porem, quando a mensagem é endereçada a cada um deles em privado. Ai, eles veem sim a mensagem. Se enviar a mensagem a TODOS sem ser privada todos veem mas se for privada, só que enviou ve. Como corrigir isso?
  14. Carlos Rocha

    Repetir Consulta

    Usando settimeout, A div fica pulando. Observando os grandes chats, terra, uol, ig, voce observa que há um atualização da conversa, mas não há um "pular" na pagina.
  15. Carlos Rocha

    Repetir Consulta

    Ola pessoal. Tenho uma consulta sql. Esta consulta é mostrada em uma div. É um chat. Tem como eu repetir essa consulta de 1 em 1 segundo, de forma a essa consulta entregar seu valor? Essa consulta, são as conversas gravadas no BD.
  16. Pessoal, valeu, fiz com php mesmo. Valeu o refresco de memória. Depois de muito pensar a cabeça já não ajuda muito né? Valeu.
  17. Ola. Tenho o form abaixo. Nele, tenho dois campos input text. Um recebe um valor que pode ser alterado O outro, recebe outro valor, que pode ser alterado. E tenho um terceiro campo input hidden que, quando submeter o form, gostaria que recebe-se o resultado de um calculo entre os doi campos imput text. Bom, eu fiz uma função e vou postar aqui o código do form echo "<form action=\"carrinho.php?op=adicionar\" name=\"adcionaumaum[$id]\" method=\"post\">"; $i=0; while(list($id, $nome_produto, $preço, $foto, $quantidadecaixa, $descricao, $nome_fornecedor, $razao_fornecedor, $idfornece,$nome_grupo) = mysql_fetch_row($sql2)){ echo "<input type=\"hidden\" name=\"id_prod\" value=\"$id\"> <input type=\"hidden\" name=\"id_fornece\" value=\"$id_fornece\">"; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src=../img/saiba_mais.png alt='Saiba Mais'>"; echo "<tr> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_grupo</td> <td align=center><a href='?acao=saibamais&id=$id&id_fornece=$id_fornece'>$icone</a></td> <td align=right>$quantidadecaixa</td> <td align=left>R$ <input type=\"text\" name=\"{$i}[novo_preco]\" id=\"{$i}[novo_preco]\" value=\"$preço\" size=\"08\" style=\"text-align:right\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"></td> <td align=center> <input type=\"text\" name=\"{$i}[novo_imposto]\" id=\"{$i}[novo_imposto]\" value=\"0\" size=\"08\" style=\"text-align:center\" onKeyPress=\"BloqueiaLetras();\"> %</td> <input type=\"hidden\" name=\"{$i}[preco_novo]\" id=\"{$i}[preco_novo]\" value=\"\"> <td align=let><input type=checkbox name=\"{$i}[marcado]\"></td> <td align=center valign=\"middle\"> <a href=\"#\" onclick=\"this.href=' carrinho.php?op=adicionar&id_produto=$id&id_fornece=$id_fornece&imposto='+document.getElementById('{$i}[novo_imposto]').value+'&novopreco='+calculo(document.getElementById('{$i}[novo_preco]').value,document.getElementById('{$i}[novo_imposto]').value);\" > Enviar </a> </td> </tr>"; $i++; } echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"submit\" value=\"Enviar todos os ítens\" onclick=\"calculo2(document.getElementById('{$i}[novo_preco]').value,document.getElementById('{$i}[novo_imposto]').value,document.getElementById('{$i}[preco_novo]').value);\"> </td> </tr> </table> </form> "; } ?> a funçaoq que criei é: function calculo2(vl1, vl2, campo) { total = ((Number(vl1) * Number(vl2)) / 100) + Number(vl1); campo = Number(total); } Estou chamando ela no botão submit do form assim: <input type=\"submit\" value=\"Enviar todos os ítens\" onclick=\"calculo2(document.getElementById('{$i}[novo_preco]').value,document.getElementById('{$i}[novo_imposto]').value,document.getElementById('{$i}[preco_novo]').value);\"> Mas, o evento deveria executar a função e entregar o resultado da função ao campo hidem para que o form enviasse o valor do campo hidden para o action. Porem, o valor do hidden esta indo vazio. Onde será que esta o erro?
  18. tenho ma função que verifica campos enviados por POST mas que seus campos rodam dentro de um while. Desta forma, quando enviados, esses campos viram um array de campos. Um deles, é uma checkbox. então o array se compõe de todos os campos enviados. E, este array, em cada linha do while, ganha um índice. Daí, quando esse form é enviado, gotaria de filtrar quais laços do while foram enviados, filtrando pelo checkbox que foi maracado. ou seja, se o checkbox foi maracado, os outros campos do form me interessam, se não foi maracado, nõ interessam. A funçao é essa: <? function filtrar_array_por_valor($array, $index, $value) { if(is_array($array) && count($array) > 0) { foreach(array_keys($array) as $key) { $temp[$key] = $array[$key][$index]; if ($temp[$key] = $value) { $newarray[$key] = $array[$key]; } } } return $newarray; } ?> Estou chamando ela assim: $dados = filtrar_array_por_valor($_POST, 'marcado', 'on'); print_r($dados); Mas, mesmo assim não esta filtrando. Onde esta o erro? O problema estava aqui: Não é assim: if ($temp[$key] = $value) { é assim: if ($temp[$key] == $value) { Grato a todos
  19. Pessoal. Boa tarde! Tenho a função abaixo: function filtrar_array_por_valor2($array, $index, $value) { if(is_array($array) && count($array) > 0) { foreach(array_keys($array) as $key) { $temp[$key] = $array[$key][$index]; if ($temp[$key] = $value) { $newarray[$key] = $array[$key]; } } } return $newarray; } $dados = filtrar_array_por_valor2($_POST, 'marcado', on); print_r($dados); A ideia aqui é: Tenho um form que postarei abaixo e ele tem alguns campos. Dente eles, um que é uma checkbox. Por estar dentro de um while, essa checkbox, acada laço do while, ganha um novo name <input type=checkbox name=\"{$i}[marcado]\"> Nisso, quando o form é enviado, a checkbox vira uma array. Eu gostaria de saber, quais checkbox foram maracadas e deletar da array os indices que não foram marcadas. Tentei da forma acima, mas ele retorna todo os índices. Veja o código do form: echo "<form action=\"carrinho.php?op=adicionar\" name=\"adcionaumaum[$id]\" method=\"post\">"; $i=0; while(list($id, $nome_produto, $preço, $foto, $quantidadecaixa, $descricao, $nome_fornecedor, $razao_fornecedor, $idfornece,$nome_grupo) = mysql_fetch_row($sql2)){ echo "<input type=\"hidden\" name=\"id_prod\" value=\"$id\"> <input type=\"hidden\" name=\"id_fornece\" value=\"$id_fornece\">"; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src=../img/saiba_mais.png alt='Saiba Mais'>"; echo "<tr> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_grupo</td> <td align=center><a href='?acao=saibamais&id=$id&id_fornece=$id_fornece'>$icone</a></td> <td align=right>$quantidadecaixa</td> <td align=left>R$ <input type=\"text\" name=\"{$i}[novo_preco]\" id=\"{$i}[novo_preco]\" value=\"$preço\" size=\"08\" style=\"text-align:right\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"></td> <td align=center> <input type=\"text\" name=\"{$i}[novo_imposto]\" id=\"{$i}[novo_imposto]\" value=\"0\" size=\"08\" style=\"text-align:center\" onKeyPress=\"BloqueiaLetras();\"> %</td> <input type=\"hidden\" name=\"{$i}[preco_novo]\" id=\"{$i}[preco_novo]\" value=\"\"> <td align=let><input type=checkbox name=\"{$i}[marcado]\"></td> <td align=center valign=\"middle\"> <a href=\"#\" onclick=\"this.href=' carrinho.php?op=adicionar&id_produto=$id&id_fornece=$id_fornece&imposto='+document.getElementById('{$i}[novo_imposto]').value+'&novopreco='+calculo(document.getElementById('{$i}[novo_preco]').value,document.getElementById('{$i}[novo_imposto]').value);\" > Enviar </a> </td> </tr>"; $i++; } echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"submit\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; } ?>
  20. Bom. Consegui eu consegui. Mas agora estou tendo dificuldades somar isso tudo. <script> // JavaScript Document function calculo(vl1, vl2) { total = parseint((vl1 * vl2) / 100) + parseint(vl1); return total; } </script> Preciso retornar o total vl1 e vl2 são numeros inteiros. como fazer? consegui! Ficou assim: <script> // JavaScript Document function calculo(vl1, vl2) { total = ((Number(vl1) * Number(vl2)) / 100) + Number(vl1); return Number(total); } </script> Valeu!
  21. Pessoal. Bom dia. Tenho essw href: <a href=\"#\" onclick=\"this.href=' carrinho.php?op=adicionar&id_produto=$id&id_fornece=$id_fornece&imposto='+document.getElementById('{$i}[novo_imposto]').value+'&novopreco='+calcula\" > Enviar </a> E tenho essa função js: <script> // JavaScript Document function calculo(vl1, vl2) { total = ((vl1 * vl2)/100)+vl2; return total; } </script> Eu preciso fazer uma forma de entegar o resultado dessa função ao parametro novopreco no href acima. o parametro vl1 da função sérá document.getElementById('{$i}[novo_imposto]').value o parametro vl2 da função sérá document.getElementById('{$i}[preco_novo]').value Como posso resolver isso?
  22. Grato a todos. Era register globals desativado no servidor.
  23. O banco cadastro SEM as mascaras. Eu passei para o suporte 111.111.111.11 para ficar bonitinho. rsrs Mas, o abeçoado do cara do suporte, em vez de testar la no site, foi testar direto no banco e colocu para pesquisar com os pontos. O intrigante é: porque, local, e em mais dois outros servidores não da esse erro? só la dá?
  24. Pessoal. Boa tarde! Estou com um problema no suporte do servidor que não estou conseguindo contornar com eles. Ok. Navegue até: http://gapde.com.br/logar.php Bom. esse é um sistema de login. Na pagina, há dois logins. Um para deficiented e outro para empresas. Há um deficiente cadastrado (O site ainda esta em construçao), cpf : 111.111.111.11 senha : aa considerem aqui que la no script já tem a mascara. e os caras do suport foram no phpmyamin e cosultaram por 111.111.111.11 com a mascara e o meu script, na hora da validaçao com o banco retira a mascara. E, é claro, como no banco o dados vão sem mascara, o retorno da pesquisa que eles fizeram, retornou vazio. Se você tentar logar, observará que o logon não será feito pois a sessão não esta sendo criada. Porem, a consulta ao banco de dados, esta sendo normalmente feito e retornando valor. Por outro lado, criei uma pasta com o nome do site em um outro dominio hospedado em outro servidor e tambem criei a base de dados e subi os mesmos arquivos por ftp para este outo servidor. Lá funciona normal, localmente funciona normal. No UOL host, não funciona. Penso que pode ser configuraçao do php. O que, de fato pode estar ocasionando esse erro? segue o código da pagina <?php //////////////////////////////////CASO DE ADMINISTRADOR LOGAR/////////////////////////////// if ($acao=="administrador") { $usuario = $_POST['usuario']; $senha = $_POST['senha']; $sql = $MySQL->query("select id from admin where usuario='$usuario' and senha='$senha'"); $num = mysql_num_rows($sql); if ($num==0) { echo "<script>document.location='?erroadmin=invalido'</script>"; } else { $sql = $MySQL->query("select id, nome, bloqueio from admin where usuario='$usuario'"); $bloqueio = mysql_result($sql,0,"bloqueio"); $name = mysql_result($sql,0,"nome"); $sessaologinadmin = mysql_result($sql,0,"id"); if ($bloqueio == "s") { echo "<script>document.location='?erroadmin=bloqueado'</script>"; } else { /* session_register("bloqueio"); session_register("name"); session_register("sessaologinadmin"); */ $_SESSION["bloqueio"]=$bloqueio; $_SESSION["name"]=$name; $_SESSION["sessaologinadmin"]=$sessaologinadmin; echo "<script>document.location='admin/index.php'</script>"; } } } ?> <?php //////////////////////////////////CASO DE PPDS LOGAR/////////////////////////////// if ($acao=="deficiente") { $cpf = $_POST['cpf']; $senha = $_POST['senha']; $cpf = str_replace( ".", "", $cpf); $cpf = str_replace( "-", "", $cpf); $cpf = str_replace( ".", "", $cpf); $cpf = str_replace( "/", "", $cpf); $cpf = str_replace( "-", "", $cpf); $sql = $MySQL->query("select id_deficente from deficientes where cpf='$cpf' and senha='$senha'"); $num = mysql_num_rows($sql); if ($num==0) { echo "<script>document.location='?erroppds=invalido'</script>"; } else { $sql = $MySQL->query("select id_deficente, nome, bloqueio from deficientes where cpf='$cpf'"); $bloqueio = mysql_result($sql,0,"bloqueio"); $name = mysql_result($sql,0,"nome"); $sessaologindeficiente = mysql_result($sql,0,"id_deficente"); if ($bloqueio == "s") { echo "<script>document.location='?erroppds=bloqueado'</script>"; } else { /* session_register("bloqueio"); session_register("name"); session_register("sessaologindeficiente"); */ $_SESSION["bloqueio"]=$bloqueio; $_SESSION["name"]=$name; $_SESSION["sessaologindeficiente"]=$sessaologindeficiente; echo "<script>document.location='index.php'</script>"; } } } ?> <?php //////////////////////////////////CASO DE CLIENTE LOGAR/////////////////////////////// if ($acao=="empresa") { if ($pessoa=="j") {$dcto=$cnpj;$dctotipo="cnpj";$pessoatipo="razaosocial";} if ($pessoa=="f") {$dcto=$cpf;$dctotipo="cpf";$pessoatipo="nome";} $dcto = str_replace( ".", "", $dcto); $dcto = str_replace( "-", "", $dcto); $dcto = str_replace( ".", "", $dcto); $dcto = str_replace( "/", "", $dcto); $dcto = str_replace( "-", "", $dcto); $senha = $_POST['senha']; $sql = $MySQL->query("select id_empresa, $pessoatipo from clientes where $dctotipo='$dcto' and senha='$senha'"); $num = mysql_num_rows($sql); if ($num==0) { echo "<script>document.location='?erroempresa=invalido'</script>"; } else { $sql = $MySQL->query("select id_empresa, bloqueio, $pessoatipo from empresas where $dctotipo='$dcto'"); $bloqueio = mysql_result($sql,0,"bloqueio"); $name = mysql_result($sql,0,$pessoatipo); $sessaologinempresa = mysql_result($sql,0,"id"); if ($bloqueio == "s") { echo "<script>document.location='?erroempresa=bloqueado'</script>"; } else { /* session_register("bloqueio"); session_register("name"); session_register("sessaologinempresa"); */ $_SESSION["bloqueio"]=$bloqueio; $_SESSION["name"]=$name; $_SESSION["sessaologinempresa"]=$sessaologinempresa; echo "<script>document.location='index.php'</script>"; } } } ?> <!--//////////////////////////////////CASO DE PPDS LOGAR///////////////////////////////--> <table align="center" width="95%"> <tr bgcolor="#6666FF"> <td align="center" valign="middle" colspan="3"> <font color="#FFFFFF">Logar no Site:::::: <?=$titulo_site;?> ::::::</font><br /> </td> </tr> <tr><td colspan="2" align="center" valign="middle"><img src='img/login.jpg'></td></tr> <tr> <td width="50%" valign="top"> <table border="1"> <tr><td colspan="2"> <? if ($erroppds == "deslogado") { echo ("<font color=red size=-1><b>Não esta logado, favor logar no Sistema</b></font>"); } if ($erroppds == "invalido") { echo ("<font color=red size=-1><b>Usuário Inválido ou senha não confere</b></font>"); } if ($erroppds == "bloqueado") { echo ("<font color=red size=-1><b>Usuário Bloqueado</b></font>"); } ?> </td></tr> <form action="?acao=deficiente" method="post" name="login_deficiente"> <tr> <td colspan="2"><font color="#990000">DEficiente:</font></td></tr> <tr> <td>Cpf:</td> <td><INPUT TYPE="text" NAME="cpf" VALUE="" SIZE="20" MAXLENGTH="14" onkeypress="return mascara(event,this,'###.###.###-##');"></td> </tr> <tr> <td>Senha:</td> <td><INPUT TYPE="password" NAME="senha" VALUE="" SIZE=20 MAXLENGTH=4></td> </tr> <tr> <td colspan="2" align="center"> <input type="button" value="Entrar" onClick="CriticaLoginDeficiente()"> <input type="reset" value="Limpar"> </td> </tr> </form> </table> </td> <!--//////////////////////////////////CASO DE PPDS LOGAR///////////////////////////////--> <!--//////////////////////////////////CASO DE EMPRESA LOGAR///////////////////////////////--> <td width="50%" valign="top"> <table border="1"> <tr><td colspan="2"> <? if ($erroempresa == "deslogado") { echo ("<font color=red size=-1><b>Não esta logado, favor logar no Sistema</b></font>"); } if ($erroempresa == "invalido") { echo ("<font color=red size=-1><b>Usuário Inválido ou senha não confere</b></font>"); } if ($erroempresa == "bloqueado") { echo ("<font color=red size=-1><b>Usuário Bloqueado</b></font>"); } ?> </td></tr> <form action="?acao=empresa" method="post" name="login_empresa"> <tr> <td colspan="2"><font color="#990000">Empresa</font></td></tr> <tr> <td valign="top" colspan="2"> <table width="300"> <tr> <td width="150" valign="top"> <input type="radio" name="pessoa" id="pessoa" value="j" onclick="java script: abre('juridica'); fecha('fisica'); limpaCampo( 'cpf' );" /> <label>Pessoa Jur&iacute;dica</label><br> <input type="radio" name="pessoa" id="pessoa" value="f" onclick="java script: fecha('juridica'); abre('fisica'); limpaCampo( 'cnpj' );" /> <label>Pessoa F&iacute;sica</label> </td> <td width="150" valign="top"> <div id="juridica" style="display:block;"> <table> <tr> <td colspan="2" ><label>CNPJ: <br /> <input type="text" name="cnpj" id="cnpj" class="bginput" maxlength="18" size="20" onkeypress="return mascara(event,this,'##.###.###/####-##');" value="" /></label><br /><br /> </td> </tr> </table> </div> <div id="fisica" style="display:none;"> <table> <tr> <td colspan="2"><label>CPF: <br /> <input type="text" name="cpf" id="cpf" class="bginput" maxlength="14" size="20" onkeypress="return mascara(event,this,'###.###.###-##');" value="" /></label><br /><br /> </td> </tr> </table> </div> </td> </tr> </table> </td> </tr> <tr> <td>Senha:</td> <td><INPUT TYPE="password" NAME="senha" VALUE="" SIZE=20 MAXLENGTH=4></td> </tr> <tr> <td colspan="2" align="center"> <input type="button" value="Entrar" onClick="CriticaLoginEmpresa()"> <input type="reset" value="Limpar"> </td> </tr> </form> </table> </td> <!--//////////////////////////////////CASO DE EMPRESA LOGAR///////////////////////////////--> </tr> <!--//////////////////////////////////CASO DE ADMINISTRADOR LOGAR///////////////////////////////--> <tr> <td width="100%" valign="top" colspan="2"> <table align="center" border="1"> <tr><td colspan="2"> <? if ($erroadmin == "deslogado") { echo ("<font color=red size=-1><b>Não esta logado, favor logar no Sistema</b></font>"); } if ($erroadmin == "invalido") { echo ("<font color=red size=-1><b>Usuário Inválido ou senha não confere</b></font>"); } if ($erroadmin == "bloqueado") { echo ("<font color=red size=-1><b>Usuário Bloqueado</b></font>"); } ?> </td></tr> <form action="?acao=administrador" method="post" name="login_administrador"> <tr> <td colspan="2"><font color="#990000">Aministrador:</font></td></tr> <tr> <td>Usuario:</td> <td><INPUT TYPE="text" NAME="usuario" VALUE="" SIZE="20" MAXLENGTH="14" /></td> </tr> <tr> <td>Senha:</td> <td><INPUT TYPE="password" NAME="senha" VALUE="" SIZE=20 MAXLENGTH=4></td> </tr> <tr> <td colspan="2" align="center"> <input type="button" value="Entrar" onClick="CriticaLoginAdmin()"> <input type="reset" value="Limpar"> </td> </tr> </form> </table> </td> </tr> <!--//////////////////////////////////CASO DE ADMINISTRADOR LOGAR///////////////////////////////--> </table>
  25. Pessoal. Estive pensando o seguinte: Se, a cada laço do while, o input ganha um novo id (claro, é um input para cada produto né?), então, o que ei preciso é criar uma array bidirecional carregando, o nome do input e o seu valor e guardar esse array em uma sessão e depois recuperar esses dasdos, entregando os valores do array aos valores dos inputs conforme os índices do array. Como eu faria isso? Aqui vai meu while $i = 0; while(list($id_lista, $foto, $id_produto, $nome_produto, $nome_fornece, $razao_fornece, $nome_grupo, $quantidadecaixa, $preço) = mysql_fetch_row($sql)){ 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]\" value=\"$id_lista\"> "; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src='../img/saiba_mais.png' alt='Saiba Mais'>"; echo "<tr> <td align=center>$id_lista</td> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_fornece$razao_fornece</td> <td align=let>$nome_grupo</td> <td align=\"center\" valign=\"middle\"> <a href=\"?acao=saibamais&id_prod=$id_produto&&id_da_lista=$id_lista\">Saiba Mais</a> </td> <td align=center>$quantidadecaixa</td> <td align=right>R$ $preço</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=center valign=\"middle\"> <a href=\"#\" onclick=\"this.href=' carrinho.php?op=adicionar&id_produto=$id_produto&id_da_lista=$id_lista&quantidade='+document.getElementById('{$i}[quant]').value\" > Enviar </a> </td> </tr>"; $i++; }
×
×
  • Criar Novo...