Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

m4rc0fr

Ajuda com código (iniciando no php)

Recommended Posts

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
 $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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.