Depois do nosso entendimento sobre como funciona o envio de dados atravé s de um formulário para o PHP, como conectar com o MySQL, agora poderemos aprender a cadastrar os registros capturados no BD.
Começaremos utilizando o nosso formulário e o arquivo que captura as informações que foram dados de exemplo anteriormente e daremos continuidade.
O Banco de dados e a Tabela
Paa quem não lembra como criar uma base de dados e uma tabela, pode conferir nos tópicos do nosso curso de PHP. Criaremos um BD para nossos estudos chamado “aprendendo_php” e tabela chamada “agenda“, seguindo o esquema abaixo:
CREATE DATABASE `aprendendo_php` DEFAULT CHARACTER SET latin1 COLLATE latin1_bin; CREATE TABLE `aprendendo_php`.`agenda` ( `id` INT( 255 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `nome` TEXT NOT NULL , `telefone` TEXT NOT NULL ) ENGINE = MYISAM ;
Formulário de Cadastro (agenda_form.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Agenda - Formulário de Cadastro</title> </head> <body> <form id="formulario" name="formulario" method="post" action="cadastrar_agenda.php"> <p>Nome: <input type="text" name="nome" id="nome" /> </p> <p>Telefone: <input type="text" name="telefone" id="telefone" /> </p> <p> <input type="submit" name="button" id="button" value="Cadastrar" /> </p> </form> </body> </html>
Conexão com o BD do MySQL (conexao.php)
Como estou utilizando o EasyPHP, informei o usuario “root” e a senha vazia “”.
<?php $servidor = "localhost"; $usuario = "root"; $senha = ""; $banco = "aprendendo_php"; $conexao = mysql_connect($servidor, $usuario, $senha); $bd = mysql_select_db($banco, $conexao); if(!$conexao){ echo "Não foi possível conectar com o BD!"; if(!$bd){ echo "Não foi possível selecionar o BD!"; } } ?>
Capturando dados e cadastrando no BD (agenda_cadastrar.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Agenda - Cadastrando</title> </head> <body> <?php // Incluímos o arquivo de conexão para efetuar a conexão com o BD e selecionar o BD include_once('conexao.php'); // Faremos a captura de dados do formulário e criaremos as devidas variáveis $nome = $_POST['nome']; $telefone = $_POST['telefone']; // Criamos o SQL a ser executado para cadastrar em nossa tabela $sqlCadastra = "INSERT INTO `agenda` (`id`, `nome`, `telefone`) VALUES (NULL, '".$nome."', '".$telefone."');"; // Executamos o comando SQL $cadastrar = mysql_query($sqlCadastra, $conexao); // Faz o teste se foi cadastrado e informa uma mensagem if($cadastrar){ // Aqui fica o código de exibição quando o cadastro for realizado com sucesso! echo "SUCESSO! Seu cadastro foi feito!<br />"; echo "<a href=\"agenda_form.php\">Clique aqui para voltar</a>"; }else{ // Aqui fica o código de exibição quando o cadastro não for possível ser feito por causa de algum erro! die("ERRO - Seu cadastro não pode ser realizado: ".mysql_error()); } ?> </body> </html>
Perceba que ao acessar o formulário você irá preencher os dois campos, nome e telefone. Após o envio, os dados serão capturados no arquivo “agenda_cadastrar.php” e inseridos no BD. O código está todo comentado explicando o passo-a-passo.
Após cadastrar, vá até o seu BD pelo PHPMyAdmin e entre na tabela criada para ver os registros.
Nas próximas postagens irei demonstrar como fazer a listagem dos registros de uma tabela, assim como excluir e editá-los.
Como exercício, você pode tentar implementar mais campos no seu BD, e consequentemente no seu formulário também para melhorar o código. Crie campos para e-mail, separe os números para telefone comercial, telefone residencial, celular, e o que mais você quiser.
Espero que tenham aprendido e gostado. Fico no aguardo das dúvidas. Abraços!
Como eu faço para modificar duas colunas distintas em uma tabela?
Oi Evellyn. Dá uma olhada nesta postagem: http://www.diegomacedo.com.br/como-alterar-dados-de-uma-tabela-no-mysql-clausula-update/
Ola… gostei muito do post… muito bem feito…
porem 1 linha do seu codigo não consigo adaptar para mim…
$sqlCadastra = “INSERT INTO ‘logsen’ (‘id’,’login’,’senha’) VALUES (NULL,'”.$nome.”‘,'”.$sen.”‘);”;
retorna o seguinte erro
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”logsen’ (‘id’,’login’,’senha’) VALUES (NULL,’sdfsdg’,’adfsaf’)’ at line 1
por favor se possivel me ajude =x
Olá Leandro, o problema está nas aspas simples do nome da tabela ‘logsen’. Tente usar apóstrofo em nome de tabelas e campos da tabela ” ` “.
Fala professor.. quando tiver com tempo posta como fazer a listagem dos registros da tabela.
Abraço.
Fala Plínio, irei postar assim que possível. É que ultimamente estou estudando muito para concursos, daí pode ser que eu poste outras coisas relacionadas a TI, mas creio que o curso de PHP irá parar um pouco. Basta você deixar seu e-mail assinado para receber notícias de novas atualizações daqui, ok? Abraços!
Muito bom o topico. Fico bem explicado e detalhado.
Irei aguardar os proximos para ver como faz a listagem. Abraços