Philipe Cardoso Com 33 anos de idade, sou um carioca apaixonado por tecnologia e fotografia. Além de ser o criador do Portal Zoom Digital, que preserva sua essência desde os tempos em que era um blog, também sou um verdadeiro entusiasta e amante de todas as formas de tecnologia. Através do Portal, compartilho minha paixão pela tecnologia e trago as últimas novidades e tendências para os leitores. Também sou fascinado pelo mundo da fotografia, explorando o poder das imagens para capturar momentos únicos e transmitir histórias cativantes.

Inclusão de dados em banco Mysql com PHP

2 min read

Codigo PHP

Saudações, amigos do Zoom Digital.

Hoje vou passar um pequeno tutorial de como efetuar inserção de dados numa base de dados MYSQL. Crie uma base de dados com a seguinte instrução MYSQL:

CREATE TABLE `fgts_convoca` (
  `id` int(11) NOT NULL auto_increment,
  `nome` text collate latin1_general_ci NOT NULL,
  `funcao` text collate latin1_general_ci NOT NULL,
  `email` text collate latin1_general_ci NOT NULL,
  `ip` text collate latin1_general_ci NOT NULL,
  `dataaabertura` date NOT NULL default '0000-00-00',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

A seguir elabore uma página HTML chamada ‘index.php’ que contenha um formulário com os campos NOME, FUNÇÃO e E-MAIL. Direcione o action desse formulário para uma página chamada ‘processa.php’.

Agora iniciaremos nosso script de inserção propriamente dito.

//Configuro os dados para conexão ao BD
$tabela = "Sua tabela";
$endereco = "Endereço da BD";
$usuario = "Usuario";
$senha = "Senha";

//Estabelece Conexão com a Base de Dados
mysql_connect($endereço, $usuario, $senha);
mysql_select_db($tabela);

Este é o começo do código. Iniciamos com a configuração de acesso a sua base de dados. Basta preencher os valores das variaveis $tabela, $endereco, $usuario e $senha de acordo com as configurações de acesso ao seu Banco de dados MYSQL.

function protecao($string){
  $string = str_replace(" or ", "", $string);
  $string = str_replace("select ", "", $string);
  $string = str_replace("delete ", "", $string);
  $string = str_replace("create ", "", $string);
  $string = str_replace("drop ", "", $string);
  $string = str_replace("update ", "", $string);
  $string = str_replace("drop table", "", $string);
  $string = str_replace("show table", "", $string);
  $string = str_replace("applet", "", $string);
  $string = str_replace("object", "", $string);
  $string = str_replace("'", "", $string);
  $string = str_replace("#", "", $string);
  $string = str_replace("=", "", $string);
  $string = str_replace("--", "", $string);
  $string = str_replace("-", "", $string);
  $string = str_replace(";", "", $string);
  $string = str_replace("*", "", $string);
  $string = strip_tags($string);

  return $string;
}

A seguir você deve declarar está função, cuja finalidade é proteger os dados contra inserção de informações maliciosas. Esta função poderá ser chamada em qualquer trecho deste código após esta declaração.

//Recebo as variaveis
$nome = trim($_POST['nome']);
$nome = addslashes($nome);
$nome = protecao($nome);
$funcao = trim($_POST['funcao']);
$funcao = addslashes($funcao);
$funcao = protecao($funcao);
$email = trim($_POST['email']);
$email = addslashes($email);
$email = protecao($email);

Neste trecho recebemos as informações provenientes do formulário e fazemos uma verificação com nossa função ‘protecao’. Também utilizamos a função TRIM para limpar espaços em branco e ADDSLASHES para adicionar barras invertidas as informações. Tomando esses cuidados as chances de inserirem informações maliciosas sem permissão são quase nulas.

//Seleciono o IP
$ip = $_SERVER['REMOTE_ADDR'];

//Gero a data e hora de cadastro
$dataabertura = date("Y-m-d H:i:s");

Agora selecionamos algumas informações de controle opcionais. O IP da pessoa que está inserindo as informações e a data e hora da inserção.

$sql = mysql_query("INSERT INTO $tabela (nome, funcao, email, dataabertura, ip) VALUES ('".$nome."', '".$funcao."', '".$email."', '".$dataabertura."', '".$ip."')");

Neste trecho realizamos a inserção de dados propriamente dita utilizando a instrução INSERT INTO. Você pode obter mais informações sobre manipulação de dados no manual de referência MYSQL (http://dev.mysql.com/doc/refman/4.1/pt/insert.html).

if(!$sql){
    echo "Erro na Inserção: ".mysql_error();
}else{
    print ""; //Retorna Alerta de sucesso no processo
    print ""; //Aqui indico a página do formulário para o script retornar a ela
}

Aqui fazemos uma verificação de condição. Se houver falha na inserção, todo o processo é interrompido e é exibida na tela uma mensagem de erro informando por que a inserção falhou. Caso contrário, retornamos um alert avisando do sucesso no processo e redirecionamos o usuário para a página do formulário.

Pronto. Agora vocês sabem o básico de inserção de dados com PHP. Não sou o melhor professor do mundo, mas espero que vocês consigam tirar algum proveito dessas informações.

Nós vemos em breve.
Que a Força esteja com vocês.

Philipe Cardoso Com 33 anos de idade, sou um carioca apaixonado por tecnologia e fotografia. Além de ser o criador do Portal Zoom Digital, que preserva sua essência desde os tempos em que era um blog, também sou um verdadeiro entusiasta e amante de todas as formas de tecnologia. Através do Portal, compartilho minha paixão pela tecnologia e trago as últimas novidades e tendências para os leitores. Também sou fascinado pelo mundo da fotografia, explorando o poder das imagens para capturar momentos únicos e transmitir histórias cativantes.

6 Replies to “Inclusão de dados em banco Mysql com PHP”

  1. Uma função bacana para usar contra Injeção SQL

    function AntInjection($fields){
    return trim(strip_tags(addslashes($fields)));
    }

    dai é so chamar a função
    $nome = AntInjection($_POST[‘nome’])

    ou jogar o $_POST em um foreach e dentro dele chamar a função para tratar todos os valores do array

  2. Para combater Sql Injection eu uso a seguinte função:

    function AntiInjection($Param){
    $Param = strip_tags($Param); // Retira tags HTML
    $Param = addslashes($Param); // Acrescenta barra invertida (“\”) caso insira aspas simples (“‘”) escapando o caracter
    $Param = mysql_escape_string($Param); //Retira todas as tags mysql, como por exemplo, SELECT, DROP TABLE, ALTER TABLE, e assim vai.
    $Param = strtolower($Param); // Deixa os caracteres em caixa baixa.
    return $Param;
    }

    Belo tutorial, sempre é bom pegar ip como você fez no registro para ter um controle melhor sobre o sistema.

    Parabéns

  3. Boas funções as de vocês, Rafael e Alexandre.

    Existem dezenas de funções para proteção contra SQL Injection. Temos sempre que ficar atentos a proteção de nossos projetos.

    E breve teremos mais dicas de PHP.

  4. Boa noite amigo, gostaria de saber se vc da aula de php, mas preciso aprender já fazendo um projeto que tenho aqui em mente.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *