m4rc0fr 0 Denunciar post Postado Outubro 5, 2016 Fala galera, Estou iniciando em php, e peguei o sistema da empresa para analisar. Segue uma pagina para amostra; <?php include('action.php'); if((isset($_GET['acao'])) and ($_GET['acao'] == 'visualizar')){ $id = $_GET['id']; $query = "SELECT * FROM ".BDTabela." WHERE ".BDPrefixo."_id=".$id; $arr_mod = mysql_query($query); $orcamento = mysql_result($arr_mod , 0 , BDPrefixo.'_orcamento'); $revisao = mysql_result($arr_mod , 0 , BDPrefixo.'_revisao'); $alteracao = mysql_result($arr_mod , 0 , BDPrefixo.'_alteracao'); $numero = mysql_result($arr_mod , 0 , BDPrefixo.'_numero'); $cliente = mysql_result($arr_mod , 0 , BDPrefixo.'_cliente'); $contato_cliente = mysql_result($arr_mod , 0 , BDPrefixo.'_contato_cliente'); $atendimento_forma = mysql_result($arr_mod , 0 , BDPrefixo.'_atendimento_forma'); $atendimento_previsao_entrega = mysql_result($arr_mod , 0 , BDPrefixo.'_atendimento_previsao_entrega'); $dados_cliente_nome = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_nome'); $dados_cliente_atividade = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_atividade'); $dados_cliente_quem_decide = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_quem_decide'); $dados_cliente_contato = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_contato'); $dados_cliente_cargo = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_cargo'); $dados_cliente_email = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_email'); $dados_cliente_endereco = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_endereco'); $dados_cliente_bairro = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_bairro'); $dados_cliente_estado = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_estado'); $dados_cliente_cidade = mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_cidade'); $dados_cliente_cep = mascara_string("#####-###", mysql_result($arr_mod , 0 , BDPrefixo.'_dados_cliente_cep')); Pelo que entendi do código, ele pega no banco as informações e vai jogando nas variáveis. Esse modo que o programador fez é o mais correto visando desempenho? Gostaria de entender, se puderem me ajudar agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Outubro 5, 2016 $query = "SELECT * FROM ".BDTabela." WHERE ".BDPrefixo."_id=".$id; Isso aqui é suscetível a SQL Injection, não se deve passar parâmetros direto. Funções estão mysql* estão descontinuadas, de preferencia a mysqli ou pdo. Sobre a performasse recomendo estudar sobre relacionamentos de tabela.(Apesar do código exibido não existir redundância) Tem um artigo legal do Beraldo: http://rberaldo.com.br/o-problema-do-n-mais-1/ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 5, 2016 Bem-vindo ao fórum! :)Recomendo que leia as regras e orientações de participação Vale lembrar que esse código está vulnerável a SQL Injection. É importante filtrar qualquer valor externo antes de usá-lo em uma query. Veja: http://rberaldo.com.br/seguranca-em-sistemas-de-login-protecao-contra-sql-injection/ PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/ Compartilhar este post Link para o post Compartilhar em outros sites
m4rc0fr 0 Denunciar post Postado Outubro 5, 2016 Obrigado Gabriel e Beraldo! Desculpem por não atentar as regras. Isso não se repetirá! Estou pensando em contratar um profissional em php para me ajudar a melhorar o sistema da empresa. Se souberem de alguém... Compartilhar este post Link para o post Compartilhar em outros sites
gabrielfalieri 15 Denunciar post Postado Outubro 5, 2016 Crud completo OO com PDO Ai meu caro. creio que será de grande ajuda esse tutorial para você, explicando como fazer um crud, que trabalha com statemant e params, assim evitando sql injections Compartilhar este post Link para o post Compartilhar em outros sites