Ir para conteúdo
Fórum Script Brasil

MTavares

Membros
  • Total de itens

    1.048
  • Registro em

  • Última visita

Tudo que MTavares postou

  1. MTavares

    Problema em postagem PHP

    Tudo bem... tem como você postar a query ou função que faz a autenticação do usuário?
  2. MTavares

    Problema em postagem PHP

    Dark, desculpa, eu pensei que essa tabela fosse a do login e senha. Use a mesma técnica na tabela que você usa para autenticar o usuário... Uma das técnicas usada é essa: $sql = mysql_query(sprintf("SELECT * FROM admin WHERE NomeAdmin = '%s' AND SenhaAdmin = '%s'",mysql_escape_string($MtLogin),mysql_escape_string(md5(strrev($MtSenha))))); $conta = mysql_num_rows($sql); if($conta == 0): $erro = "Login ou senha inválidos"; else: // aqui você gera a sessão e libera o acesso ao sistema endif;
  3. MTavares

    Problema em postagem PHP

    Olá Dark, para evitar o sql_injection, tente fazer assim na sua query, veja abaixo: $query = mysql_query(sprintf("SELECT * FROM {$prefixdb}notcategorias WHERE id='%s'",mysql_escape_string($idcat))); abs Eu coloquei o id como string (%s) como efeito de exemplo, mas você pode usar tb: % - Um caractere porcento. Não é requerido neenhum argumento. b - O argumento é tratado com um inteiro, e mostrado como um binário. c - O argumento é tratado como um inteiro, e mostrado como o caractere ASCII correspondente. d - O argumento é tratado como um inteiro, e mostrado como um número decimal com sinal. u - O argumento é tratado com um inteiro, e mostrado como um número decimal sem sinal. f - O argumento é tratado como um float, e mostrado como um número de ponto flutuante. o - O argumento é tratado com um inteiro, e mostrado como un número octal. s - O argumento é tratado e mostrado como uma string. x - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras minúsculas). X - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras maiúsculas). Fonte: http://www.php.net/manual/pt_BR/security.d...l-injection.php abs
  4. Depois que você fizer isso, tente dessa forma: <?php include "config.php"; $id = $_POST['id']; $situacao = $_POST['situacao']; $nome = strtoupper($_POST['nome']); $cpf = $_POST['cpf']; $aprovado = $_POST['aprovado']; $id = mysql_escape_string($id); $situacao = mysql_escape_string($situacao); $nome = mysql_escape_string($nome); $cpf = mysql_escape_string($cpf); $aprovado = mysql_escape_string($aprovado); $situacao = $_POST['situacao']; $cadastra = mysql_query("INSERT INTO usuario (nome, cpf, aprovado) values ('$nome', '$cpf', '$aprovado')"); $grava = mysql_query($cadastra); $idUsuario = mysql_insert_id(); echo "&lt;script LANGUAGE='JavaScript' TYPE='text/javascript'> alert ('Ok!') </SCRIPT> &lt;script language='javascript'> setTimeout( 'fechar(); ',0000); function fechar(){ if(document.all){ window.opener = window window.close('#') }else{ self.close(); } } </script> "; $sql= mysql_query("UPDATE processo SET situacao= '$situacao' WHERE idUsuario = '$idUsuario'") or die(mysql_error()); $gravar = mysql_query($sql); ?>
  5. Olá l_ucasprado, com PHP você pode fazer da forma como disponibilizei acima. Como AJAX, tente ver no link que nosso colega Ricardo T. do Prado informou. abs
  6. Então, caso você esteja pegando os dados do usuário e alterando na tabela Processo, você deveria fazer dessa forma: PROCESSO ID IDUSUARIO POSICAO Porque eu coloquei o IDUSUARIO e retirei os dados NOME e CPF? Simples, porque quando você depois da inserção, pegar o último ID através do mysql_insert_id() e jogar na tabela PROCESSO, para pegar as informações, bastaria usar um SELECT com INNER JOIN, colocando no ON os ID's. Por ex: SELECT * FROM PROCESSO pro INNER JOIN USUARIO usu ON pro.IDUSUARIO = usu.ID; abs
  7. Não tem o que desculpar, isso acontece. Vamos lá, vamos imaginar que a sua tabela processo esteja dessa forma: idProcesso, processoa, processob, status Para criar a chave estrangeira, basta fazer dessa forma: idProcesso, idUsuario, processoa, processob, status Observe que foi incluído mais um campo chamado IdUsuario. Lembra no exemplo que te passei? então, será exatamente nesse campo que irá ser incluido o idUsuario do mysql_insert_id(). Para trazer os resultados, bastaria fazer uma query com inner join, ex: SELECT * FROM usuarios usu INNER JOIN processo pro ON usu.idUsuario = pro.IdUsuario abs
  8. Para que aconteça o que você quer, na tabela processo tem que conter o id do usuário, daí partimos para aquele raciocínio, veja abaixo: $sql= mysql_query("UPDATE processo SET situacao= '$situacao' WHERE idUsuario= '$idAltera'") or die(mysql_error()); Depois para trazer todos os resultados, basta fazer uma query usando o Inner Join, colocando no ON o idUsuario da tabela processo e o id da tabela usuarios. abs
  9. entendi... como está a estrutura da tabela Processo e Usuario? para que funcione, será necessário as duas tabelas terem uma relação, a famosa chave primária e estrangeira. abraços
  10. Olá Willian, a forma mais prática é você usar Ajax para isso... mas em PHP seria algo assim: Antes do </head> coloque: <script type="text/javascript"> function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } </script> <body> <select name=jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)"> <?php $sql = mysql_query("SELECT * FROM sua tabela"); while($listar = mysql_fetch_object($sql)): ?> <option value="?id=<?=$listar->idTabela;?>">Dados da tabela</option> <?php endwhile;?> </select> Outro combox <?php if(!isset($_REQUEST["id])): ?> <select name="" disabled> <option>Selecione os dados acima</option> </select> <?php else: ?> <select name="seuoutrocombox"> <?php $sql = mysql_query(sprintf("SELECT * FROM sua outra tabela WHERE id = '%s'",mysql_escape_string($_REQUEST["id']))); while($listarnovamente = mysql_fetch_object($sql)): ?> <option value="<?=$listarnovmante->iddeoutraTabela;?>">Dados da outra tabela</option> <?php endwhile;?> </select> <?php endif; ?> abs Esqueci de dizer que isso só vai funcionar se as tabelas estiverem relacionadas. abs
  11. olá voce2011, No Insert faça assim: $cadastra = mysql_query("INSERT INTO usuario (nome, cpf, aprovado) values ('$nome', '$cpf', '$aprovado')"); $grava = mysql_query($cadastra); $idAltera = mysql_insert_id(); e no update: $sql= mysql_query("UPDATE processo SET situacao= '$situacao' WHERE id= '$idAltera'") or die(mysql_error()); $gravar = mysql_query($sql); abs
  12. MTavares

    Problema em postagem PHP

    Olá Dark, uma vez aconteceu isso comigo e a solução é que quando pego algum texto com formatações HTML, o ideal é colar primeiro em um bloco de notas e depois jogar para o sistema. Dessa forma você quebra quaisquer formatações. Tente fazer isso e veja se corrige.. o comando & n b s p é espaço do HTML. abs
  13. já tentou criar algo assim: return array($inicial,$fim) daí você tem como extrair as variáveis desejadas. abs
  14. Eu faria diferente, veja: $resultado_em_horas = "14:23"; $minutos = 60; list($hora,$minuto) = explode(":",$hora); $resultado_em_minutos = $hora * $minutos + $minuto; echo $resultado_em_minutos; abraços Só para completar... é o mesmo raciocínio que o nosso colega mJi, só que ele usou função e eu não usei...o resultado é o mesmo... ou seja... você tem duas formas de trazer esse resultado... abraços
  15. Show Vitor, o meu código deu problema que não vi na hora, ele não traz os resultados abaixo dos outros... mas a solução que tem é boa...dei uma olhada aqui... abraços
  16. Vitor, eu fiz dessa forma. Fiz uma modificação.. veja: Formulário <!DOCTYPE HTML> <html> <head> <meta charset="iso-8859-1"> <title>Untitled Document</title> </head> <body> <form name="form1" method="post"> <label>Nome<br> <input type="text" name="txtNome" id="txtNome"> </label> <p> <label>Abreviação <br> <input type="text" name="txtAbreviacao" id="txtAbreviacao"> </label> </p> <p> <label>Área <label><br /> <input type="checkbox" name="chkArea[]" id=chkArea[]" value="info">Informática </label><br> <label> <input type="checkbox" name="chkArea[]" id="chkArea[]" value="adm">Administração </label><br> <label> <input type="checkbox" name="chkArea[]" id="chkArea[]" value="mec">Mecânica </label><br> <label> <input type="checkbox" name="chkArea[]" id="chkArea[]" value="design">Design </label><br /> <label> <input type="checkbox" name="chkArea[]" id="chkArea[]" value="geral">Geral </label> </label> </p> <p> <label>Descrição<br> <textarea name="txtDescricao" id="txtDescricao"></textarea> </label> </p> <p> <input type="submit" name="submit" value="Enviar" onClick="return Validar()"/> <input type="reset" value="Limpar Dados" /> </p> </form> <?php if($_REQUEST["submit] == "Enviar") include("save_Disciplina.php"); if(isset($_REQUEST["fechar"])): unset($_SESSION["disciplina"]); endif; ?> <a href=?fechar"> Fechar sessão</a> save_Disciplina <?php session_start(); $nome = $_REQUEST["txtNome]; $abreviacao = $_REQUEST["txtAbreviacao"]; $descricao = $_REQUEST["txtDescricao"]; ?> <table> <th>Nome</th> <th>Abreviação</th> <th>Área</th> <th>Descrição</th> <?php if(isset($_REQUEST["chkArea"])) { foreach($_REQUEST["chkArea"] as $valor) { $area = $valor; ?> <tr> <td align="center"><?=$nome;?></td> <td align="center"><?=$abreviacao;?></td> <td align="center"><?=$area;?></td> <td align="center"><?=$descricao;?></td> </tr> <?php } } ?> Esse é meu raciocínio que fugiu um pouco do seu.... foi a forma mais simples que encontrei... abraços
  17. Olá Vitor, eu não testei, por isso não sei se daria certo, mas já tentou colocar essa linha: $disciplina = array ("nome" => $nome, "abreviacao" => $abreviacao, "area" => $area, "descricao" => $descricao); dentro do foreach(), ficando assim... if(isset($_REQUEST["chkArea"])) { foreach($_REQUEST["chkArea"] as $valor) { $area = $valor; $disciplina = array ("nome" => $nome, "abreviacao" => $abreviacao, "area" => $area, "descricao" => $descricao); } }
  18. MTavares

    Banco de Dados

    Tente colocar assim: mysql_query("INSER INTO piloto2 (data_final, data_vencimento, dias, status) VALUES ('".$data_final."','".$data_vencimento."','".$dias."','".$status."')"); O erro pode estar acontecendo porque o campo data está como date e com isso o seu código pode estar levando para o banco o $data_final e $data_vencimento como string e não como a data. Lembre-se de que que se a data_final e data_vencimento não estiver no formato YYY-MM-DD poderá dar problemas. abs
  19. MTavares

    codigo não funciona

    Eu usaria assim: if(mysql_affected_rows() > 0) { echo("<script>alert('DOCUMENTO CADASTRADO COM SUCESSO') location.href='CadDocumento.php'</script>"); } else { echo("<script>alert('".mysql_error()."') history.back()</script>"); }
  20. MTavares

    E-commerce em PHP

    Particularmente o melhor e-commerce é aquele que você mesmo desenvolve... pois fica mais fácil a manutenção e implementação de novos recursos. Não me refiro apenas as e-commerce, mas tb a gerenciadores de conteúdo, etc. Na porrada você vai aprendendo e quando dá por conta, está pronto... ele é seu.. diferencial do que existe por aí... e qualquer problema ou alteração que tiver que fazer, você vai no arquivo e linha certa...
  21. MTavares

    Ajuda com função php

    Olá andreclaws, Se não me engano você quer trazer para o select marcas os modelos, certo? para isso, você tem que criar uma chave estrangeira na hora de cadastrar os modelos. Por ex: tabela 1 idMarca | marca | tipo tabela2 idModelo | idMarca | cod | modelo | busca marca Dessa forma ficará mais fácil de você trazer corretamente o que você deseja. Abraços
  22. Olá SrRafael, pelo que entendi, tente criar um status de acesso. Por ex. se o Rui Barbosa acessar o seu sistema, ao acessar, mude o status dele para ativo, quando ele se deslogar, mude para inativo. Dessa forma você terá um controle de quem está ativo ou não no sistema. Caso ele feche pelo browser, sem apertar o botão sair do seu sistema, crie uma regra de tempo inativo, quando passar esse tempo, dê um update e mude o status automaticamente. abraços
  23. MTavares

    url personalizada

    Fala ae nprog... dá uma olhada nesse vídeo... ele ensina a desenvolver urls amigáveis... www.mxmasters.com.br/video-aulas/php/trabalhando-com-url-amigavel-com-php/ abraços
  24. MTavares

    Estoque

    Show de bola sacofritoxd, pode contar com a gente sim e lhe desejo boa sorte nessa nova escolha de sua vida. Para compartilhar nossos conhecimentos, segue abaixo a solução: Na tabela produtos, alterei o campo data para DATETIME, ele irá retornar algo como: YYYY-MM-DD hh:mm:ss para inserir as compras; Quando vou inserir ou alterar qualquer produto no carrinho, uso dessa forma: <?php mysql_query(sprintf("INSERT INTO sessao VALUES(null,'%s',NOW())",mysql_escape_string($IdProduto))); ?> Para fazer o que conversamos na nossa troca de idéias, fiz dessa forma: Depois selecionei a tabela sessão, aonde fica armazenado as compras dos clientes com o mysql_query dessa forma: <?php // A tabela sessão é aonde armazeno as compras efetuadas na loja $sqlInativo = mysql_query(sprintf("SELECT * FROM sessao WHERE sessao = '%s' ORDER BY data DESC", mysql_escape_string($SessaoCliente))); $mtInativo = mysql_fetch_object($sqlInativo); $agora = date("Y-m-d H:i:s"); $tempoInativo = (strtotime($agora) - strtotime($mtInativo->data)); // diminuo o tempo de agora com o campo da tabela //Verifico se o tempo inativo é maior que 20 minutos if($tempoInativo >= 1200): // 1200 = 20 minutos $expirar = "Sua sessão expirou!"; // um texto para colocar no carrinho de compras // faço uma nova query. Poderíamos usar também o Inner Join, mas coloquei dessa forma para ficar mais fácil o entendimento $sqlDevolver = mysql_query(sprintf("SELECT * FROM sessao WHERE Sessao = '%s'", mysql_escape_string($SessaoCliente))); while($mtDevolver = mysql_fetch_object($sqlDevolver)): // faço a query agora da tabela produtos $sqlProdutosDevolver = mysql_query(sprintf("SELECT * FROM produtos WHERE IdProduto = '%s'", mysql_escape_string($mtDevolver->IdProduto))); while($mtProdutosDevolver = mysql_fetch_object($sqlProdutosDevolver)): $reporProdutos = $mtDevolver->Quantidade + $mtProdutosDevolver->Estoque; // faço a alteração no estoque mysql_query(sprintf("UPDATE mm_produtos SET estoque = '%s' WHERE id_produto = '%s'",mysql_escape_string($reporProdutos), mysql_escape_string($mtDevolver->id_produto))); endwhile; endwhile; // e deleto as compras do carrinho mysql_query(sprintf("DELETE FROM Sessao WHERE Sessao = '%s'", mysql_escape_string($SessaoCliente))); endif; ?>Abraços e boa sorte!
×
×
  • Criar Novo...