
MTavares
Membros-
Total de itens
1.048 -
Registro em
-
Última visita
Tudo que MTavares postou
-
Tudo bem... tem como você postar a query ou função que faz a autenticação do usuário?
-
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;
-
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
-
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 "<script LANGUAGE='JavaScript' TYPE='text/javascript'> alert ('Ok!') </SCRIPT> <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); ?>
-
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
-
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
-
não entendi....
-
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
-
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
-
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
-
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
-
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
-
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
-
já tentou criar algo assim: return array($inicial,$fim) daí você tem como extrair as variáveis desejadas. abs
-
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
-
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
-
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
-
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); } }
-
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
-
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>"); }
-
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...
-
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
-
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
-
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
-
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!