Ir para conteúdo
Fórum Script Brasil

uilquer daniel

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Posts postados por uilquer daniel

  1. Em 21/02/2008 at 22:29, Geleiaskt disse:

     

    Em vez de redirecionar a página, prefira fazer uma verificação para ver se os dados já existem. Se existir, elabore uma condição para que o cadastro não seja efetuado novamente.

    Mas caso não queira fazer a verificação, o redirecionamento é uma boa alternativa como citou o Serra.

     

    Abraço!

    NÃO NÃO SE O USUÁRIO VOLTAR A PAGINA OS DADOS DO FORMULÁRIO ESTARÃO GUARDADOS, NO CASO DO REDIRECIONAMENTO;

    já NO CASO DA VERIFICACÃO FICA DIFICIL CASO OS DADOS TENHAM QUE SER IGUAIS. 

    O MELHOR E LIMPAR O FORMULÁRIO QUANDO OS DADOS FOREM ENVIADOS E E CONFIRMADOS NO BANCO DE DADOS.

    EEEEE PALMAS PRA MIM

  2. Em 17/12/2015 at 07:27, Beraldo disse:

    Você que deve responder. A Segurança do seu banco de dados é importante para você? Se for, proteja TODAS as consultas. Se não for, deixe de qualquer jeito...

    Já que está usando PDO, basta implementar Prepared Statements e seu banco estará seguro e imune a SQL Injection. Veja: http://rberaldo.com.br/pdo-mysql/

    E não use "var". Prefira os modificadores "public", "protected" e "private", para não ficar com código obsoleto

     

    sim mais o uso do prepared não deu certo nessa logica que usa um laço de repetição foreach gravando dados de qualquer formulário sem ter que definir em campo vai cada dado.

    pode me dar uma dica sobre isso

    Agora, uilquer daniel disse:

     

    sim mais o uso do prepared não deu certo nessa logica que usa um laço de repetição foreach gravando dados de qualquer formulário sem ter que definir em campo vai cada dado.

    pode me dar uma dica sobre isso

    quanto a declaração de variáveis ainda vou fazer as mudanças e fazer encapsulamento mais antes quero resolver o problema com essa logica ai.

  3. Em 17/12/2015 at 21:52, Exonaty disse:

    Eis o código, 

    Eu necessito utilizar este site para exibir informações de um Servidor que esta em um host DIFERENTE do host do site, neste caso eu não sei se o fiz certo, preenchi os dados das primeiras linhas com os dados do meu servidor (da outra host).

    Nas linhas 19 e 20 que apresentam o erro não sei se deveria preencher também, já tentei isso mas sem felicidade.

    http://prntscr.com/9f3riu

    dois erros la mano, você colocou em seu array mysql[user] certo é mysql[username] como foi definido emcima

    outro erro mysql[data] certo é msql[database] como está em cima acho que isso é o problema se resolver posta por favor espero que tenha te ajudado.

    4 minutos atrás, uilquer daniel disse:

    dois erros la mano, você colocou em seu array mysql[user] certo é mysql[username] como foi definido emcima

    outro erro mysql[data] certo é msql[database] como está em cima acho que isso é o problema se resolver posta por favor espero que tenha te ajudado.

    acho tambem que você deve mudar sua conexão msql_conect(é obsoleto), tente a biblioteca PDO que é oficial do php e facilita demais as transações co bancos de dados

  4. pelo que vejo o erro é na conexão com o banco de dados, precisa verificar a senha, e também diz que a função que seleciona o banco espera por dois parâmetros

    o melhor jeito de resolver isso e vendo o código que faz a conexão poderia nos mostrar ele?

  5. Fiz esse código, mais não protegi contra sql injection, a pergunta é: devo proteger a gravação de dados?Ou será que posso proteger apenas login e consultas no banco de dados?

    essa classe grava dados de qualquer formulário, mais não consegui fazer ela protegendo o banco.

    tentei usar o (prepare();) mais da erros se alguém souber como fazer me ajuda aí favor.

    {

    <?php

    class trataDados {

    var $db;
    var $maxid;
    var $fetch;
    var $comparador;


            


    function CPDO(){   
    $this->db=new PDO('mysql:host=localhost;dbname=butterfly','root','');    
    }


    // esta funcão deve gravar dados de qualque formulario.
    //os dados pedidos dentro da função são: (nome da tabela, variavel que traz dados do formulario get ou post, parametro de comparação ex:email).
    //nesse caso não tem proteção contra mysql injection .


    function gravarDados($tabela,$dados,$param){
        
        //primeiro fazemos a busca do campo qual queremos validare ex: se for email traz todos os email cadastrados;


             $buscaparam=$this->db->query("select $param from $tabela ");
             $parametro=$buscaparam->fetchALL(PDO::FETCH_OBJ);
             foreach($parametro as $paramfinal)
             { $this->comparador=
             $paramfinal->$param;
               }// fim foreach parametro

             //echo $this->comparador;

    //agora fazemos a validação se compador for igual ao dados do formulario a inseção e parada e traz a mensagem para que o usuario troque o nome do dado.
             
             if($this->comparador == $_POST[$param]){
                 echo'esse email já esta cadastrado';
                 }
    // se não da-se a continuação do cadastramento             
                 else{
    //como ods dados do formulario vem como array na variavel get ou post percorremos com laço foreach.                      
             foreach( $dados as $campo => $valor){
                 
             $this->db->exec("INSERT INTO $tabela ($campo)values('$valor')");//insere o primeiro campo do formulario para criar o id do usuario;
             $fetch = $this->db->query("SELECT MAX(id) from $tabela"); //faz uma busca do ultimo id que foi inserido na tabela
             $id=$fetch->fetch(PDO::FETCH_OBJ);
             
                foreach($id as $maxid){
                $this->maxid=$maxid;// recebe o ultimo id inserido na tabela;
                } 
                
             break; // para o laço para que  não seja criado um id para cada dado da variavel que traz os dados do formulario

             }
            
             foreach($dados as $campo => $valor){
                 //agora o update cuida de inserir todos os dados do formulario e fim todos os dados estao gravados;
             $this->db->exec("update $tabela set $campo='$valor' where id='$this->maxid'");
              }
              
          }//fim do else
                      
    }//fim da função gravaDados
            
        
            
            
    }//fim da classe
        

    $tratadados=new trataDados();
    $tratadados->CPDO();
    $tratadados->gravarDados('clientes',$_POST, 'email'); 

     ?>


    <form action="tratadados.php" method="post">

    <input type="text" name="nome">
    <input type="text" name="snome">
    <input type="text" name="email">
    <input type="submit" value="enviar">

    </form>

×
×
  • Criar Novo...