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: paradeda@gmail.com\ndate: $data\n); @wre2008 3
Com a função mail(), é possível enviar páginas HTML contendo imagens, links, tabelas, etc. <?php $email_para = lula@brasil.gov.br ; $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 = bush@whitehouse.gov ; $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. ; }?> @wre2008 4
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 = me@localhost.com // 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 @wre2008 8?>
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?> @wre2008 13
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