Programação Web Prof. Wladimir Linguagem PHP – Mail() e BD @wre2008 1 Sumário Função mail(); Conexão com Banco de dados; @wre2008 2 Envio de e-mail O comando mail(): é a função do PHP para envio de e-mail. Sua sintaxe é a seguinte: mail(Destinatário, Assunto, Mensagem, Info_Adicionais); Exemplo: $email = $_POST[“email”]; $nome = $_POST[“nome”]; $texto = “Olá $nome, bem vindo ao nosso site !!”; $data = date(“d-m-Y”); mail($email,”Formulario enviado !!”,$texto, From: [email protected]\nDate: $data\n); @wre2008 3 Com a função mail(), é possível enviar páginas HTML contendo imagens, links, tabelas, etc. <?php $email_para = “[email protected]”; $email_assunto = “Olá, sou uma nova mensagem!”; $email_conteudo = “ <html><body>Oi! Eu sou um <b>email</b> em formato HTML! </body></html>”; $email_de = “[email protected]”; $cabecalho = “MIME-Version: 1.0\r\n”; $cabecalho .= “Content-type: text/html; charset=iso-8859-1\r\n”; $cabecalho .= “From:<$email_de>\r\n”; if (mail($email_para, $email_assunto, $email_conteudo,$cabecalho)) { echo “Email enviado com sucesso, parabéns garoto!!!”; } else { echo “Ocorreu um erro durante o envio do email.”; } ?> 4 @wre2008 Envio de e-mail Editar o arquivo php.ini [mail function] ; For Win32 only. SMTP = localhost //Insira o seu servidor SMTP ; For Win32 only. sendmail_from = [email protected] // Insira o seu e-mail @wre2008 5 Conexão com Banco de dados Para criar um sistema que utiliza um sistema de gerenciamento de banco de dados, como o MySQL, é necessário realizar no mínimo duas etapas: Conectar com o sistema de gerenciamento; Selecionar um banco de dados para conectar. @wre2008 6 Conexão com Banco de dados Abre uma conexão com um servidor MySQL: mysql_connect(servidor,usuário,senha); Seleciona um banco de dados do servidor: mysql_select_db (BD, identificador); Função que realiza a maioria dos comandos sql: mysql_query(comando_sql); Fecha uma conexão com o servidor MySQL: mysql_close(identificador); @wre2008 7 <?php /* Arquivo de configuração da conexão ao banco de dados */ $servidor = “localhost”;//Geralmente é localhost mesmo $nome_usuario = “root”;//Nome do usuário do MySQL $senha_usuario = “abobrinha”; //Senha do usuário do mysql $nome_banco = “bd_progweb”; //Nome do banco de dados a ser conectado $conecta = mysql_connect("$servidor", "$nome_usuario", "$senha_usuario") or die (mysql_error()); if (!$conecta) { die("Nao foi possivel conectar:".mysql_error()); } // seleciona-se o banco de dados desejado mysql_select_db("$nome_banco",$conecta) or die (mysql_error()); conecta.php 8 @wre2008 ?> CRIAR UM BD NO SERVIDOR MySQL !!!! @wre2008 9 Conexão com Banco de dados Caso não se tenha o criado o banco de dados, é possível realizar a criação de um banco de dados via http. Utiliza-se a função de conexão com o sistema de gerenciamento, em seguida é feito o comando SQL e em seguida a seleção com o banco. @wre2008 10 <?php /* Script para criar banco de dados dinamicamente */ $conecta = mysql_connect(“localhost", “root", “abobrinha"); $nome_banco = “bd_progweb"; // Comando SQL para criar o banco de dados via HTTP $sql = "CREATE DATABASE $nome_banco"; $criado = mysql_query($sql); // seleciona-se o banco de dados criado mysql_select_db("$nome_banco",$conecta) or die (mysql_error()); if ($criado) { echo "<br><center>Banco de dados criado e selecionado</center>"; } ?> criar_banco.php @wre2008 11 CRIAR UMA TABELA NO BANCO CRIADO !!!! @wre2008 12 <?php /* Arquivo de criação de uma tabela no banco selecionado via script */ // Incluir o arquivo de conexão e de seleção do banco de dados include "conecta.php"; $nome_tabela = "aluno"; // Cria-se uma tabela chamada aluno $sql = "CREATE TABLE $nome_tabela (alu_id integer Auto_Increment, alu_nome char(50) NOT NULL, alu_sobrenome char(50) NOT NULL, alu_matricula integer NOT NULL, alu_data date, Primary Key(alu_id))"; $criado = mysql_query($sql); if ($criado) { echo "<br><center>Tabela $nome_tabela criada</center>"; } criar_tabela.php 13 @wre2008 ?> INSERIR VALORES NA TABELA CRIADA NO MySQL !!!! @wre2008 14 <?php /* Arquivo de inserção de um valor na tabela do banco selecionado via script */ include "conecta.php"; $nome_tabela = "aluno"; // Insere um valor na tabela chamada aluno $sql = "INSERT INTO aluno (alu_nome,alu_sobrenome,alu_matricula,alu_data) VALUES (‘Wladimir',‘Esposito','01',NOW())"; $criado = mysql_query($sql); if ($criado) { echo "<br><center>Valor inserido na tabela $nome_tabela criada</center>"; } ?> inserir_valor.php @wre2008 15 SELECIONAR OS VALORES NA TABELA CRIADA NO MySQL !!!! @wre2008 16 <?php /* Arquivo de inserção de um valor na tabela do banco selecionado via script */ include "conecta.php"; $nome_tabela = "aluno"; // Insere um valor na tabela chamada aluno $sql = "INSERT INTO aluno (alu_nome,alu_sobrenome,alu_matricula,alu_data) VALUES (‘Wladimir',‘Esposito','01',NOW())"; $criado = mysql_query($sql); if ($criado) { echo "<br><center>Valor inserido na tabela $nome_tabela criada</center>"; } ?> inserir_valor.php @wre2008 17 Conexão com Banco de dados Retorna dados da consulta SQL no MySQL: mysql_result (resultado,linha); @wre2008 18 <?php /* Arquivo de seleção de um valor na tabela do banco selecionado via script */ include "conecta.php"; $nome_tabela = "aluno"; // Seleção de uma linha da tabela chamada aluno $sql = "SELECT * FROM aluno"; $selecao = mysql_query($sql); echo mysql_result($selecao,0,"alu_nome"); ?> seleciona_valor.php @wre2008 19 Conexão com Banco de dados Mysql_fetch_array( ): função lê uma linha do resultado e devolve um array, cujos índices são os nomes dos campos. Sintaxe: mysql_fetch_array(consulta SQL); $consulta = “Select Id_Aluno, nome, turno from alunos”; $resultado = mysql_query ($consulta, $conexao); $dados = mysql_fecth_array($resultado); $nome = $dados[“nome”]; $turno =$dados[turno]; echo “Nome: “.$nome.”<p>”.“Turno: “.$turno; @wre2008 20 <?php /* Arquivo de seleção de um valor na tabela do banco selecionado via script */ include "conecta.php"; $nome_tabela = "aluno"; // Seleção de uma linha da tabela chamada aluno $sql = "SELECT * FROM aluno"; $selecao = mysql_query($sql); while ($dados = mysql_fetch_array($selecao)) { $nome = $dados["alu_nome"]; $mat = $dados["alu_matricula"]; echo "<br>".$nome."--".$mat; } ?> seleciona_valor.php @wre2008 21 Conexão com Banco de dados Mysql_fetch_row( ): função lê uma linha do resultado e devolve um array, cujos índices são numéricos. Sintaxe: mysql_fetch_row(consulta SQL); $consulta = “Select Id_Aluno, nome, turno from alunos”; $resultado = mysql_query ($consulta, $conexao); $dados = mysql_fecth_row($resultado); $Id_Aluno = $dados[0]; $nome =$dados[1]; echo “ID:”.$Id_Aluno.”Nome: “.$nome.”; @wre2008 22 Conexão com Banco de dados Mysql_affected_rows(): Obtém o número de linhas atingidas na operação anterior do MySQL. @wre2008 23 <?php /* Arquivo de seleção de um valor na tabela do banco selecionado via script */ include "conecta.php"; $nome_tabela = "aluno"; // Seleção de uma linha da tabela chamada aluno $sql = "DELETE FROM aluno WHERE alu_id = '2'"; $remove = mysql_query($sql); echo "Números de linhas apagadas = ". mysql_affected_rows(); ?> remover_valor.php @wre2008 24