Como converter um texto antes de inserir o MySQL no PHP

Escrito por steve mcdonnell Google | Traduzido por yaakov ben levy
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como converter um texto antes de inserir o MySQL no PHP
Insira dados de seu site através do PHP ao MySQL (Hemera Technologies/Photos.com/Getty Images)

É comum para uma aplicação em PHP colher dados que o usuário insere em um formulário em HTML, e colocar os dados em um banco de dados MySQL. Você poderá converter o texto usando PHP antes de inseri-lo no banco de dados ao criar e chamar uma função de conversão de textos. Você sempre deverá converter os textos inseridos pelo usuário, usando a função mysql_real_escape_string antes de inseri-lo no banco de dados MySQL, evitando ataques de SQL injection.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

Instruções

    Entradas do usuário

  1. 1

    Crie um novo arquivo PHP com o Bloco de Notas, ou algum outro editor de sua escolha. Insira o cabeçalho HTML no arquivo. Por exemplo:

    <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Greeting Selection</title> </head>

  2. 2

    Inicialize as variáveis para capturar e guardar os valores da entrada, se o formulário foi enviado ou defina os valores como nulos (null), se eles não forem preenchidos. Por exemplo:

    <body> <?php $complete = isset($_POST['complete']) ? $_POST['complete'] : null; $name = isset($_POST['name']) ? $_POST['name'] : null; $greeting = isset($_POST['greeting']) ? $_POST['greeting'] : null; ?>

  3. 3

    Crie um formulário HTML para capturar as entradas. Configure a ação para o arquivo PHP e configure o método para "post". Inclua um campo invisível para que seja fácil determinar se o formulário foi enviado. Por exemplo:

    <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post"> Name: <input type="text" name="name" width="30" value="<?php echo $name; ?>" /><br/> Greeting (1-3): <input type="text" name="greeting" width="3" value="<?php echo $greeting; ?>" /><br/> <input type="submit" name="submit" value="Submit" /> <input type="hidden" name="complete" value="1" /> </form>

  4. 4

    Examine o valor do campo escondido e saia se o usuário ainda não enviou o formulário. Por exemplo:

    if ($complete != "1") exit;

    Inserção no banco de dados

  1. 1

    Crie uma conexão ao servidor de banco de dados MySQL. Abra o banco de dados que contém a table em que você deseja inserir os dados. Por exemplo:

    $dbc = mysql_connect("localhost", "username", "password") or die(mysql_error()); $db = mysql_select_db('greetings') or die(mysql_error());

  2. 2

    Crie e execute um query (questionamento) para determinar se a gravação já existe no banco de dados, evitando a adição de dados duplicados. Coloque todos os dados de entrada do usuário em um query MySQL. Por exemplo:

    $query = sprintf('SELECT * FROM greetings WHERE name="%s" LIMIT 1', mysql_real_escape_string($name)); $result = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($result) == 0) {

  3. 3

    Crie a MySQL query string usando a função sprintf para fazer com que seja fácil o entendimento e o deciframento. Converta o texto de qualquer caixa de entrada, usando a função mysql_real_escape_string para evitar ataques de SQL injection. Converta o texto de saudação (greeting) ao chamar uma função personalizada. Por exemplo:

    $query = sprintf('INSERT INTO greetings (id, name, text) VALUES (null, "%s", "%s")', mysql_real_escape_string($name), convert_text($greeting)); $result = mysql_query($query) or die(mysql_error()); }

  4. 4

    Crie uma nova função personalizada de conversão de textos. Por exemplo:

    function convert_text($greeting) { switch ($greeting) { case 1: $text = "Hey there, $name!"; break; case 2: $text = "Howdy $name !"; break; case 3: $text = "Aloha $name !"; break; default: $text = "Hello $name !"; break; } return $text; } ?> </body> </html>

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível