Personal Home Page PHP Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 1 O que é PHP? PHP (Personal Home Page) é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links. Uma das características mais importantes do PHP é o suporte a um grande número debancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros. Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 2 Xampp O Xampp deve ser Iniciado O Apache deve ser Startado! Apache Iniciado! Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 6 Procure a Pasta htdocs na pasta Xampp do seu computador Crie uma pasta Aula dentro da pasta htdocs. Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 7 Digitar no bloco de notas e salvar com o nome primeiro.php na pasta htdocs na pasta xampp do seu computador <html> <head><title>Aprendendo PHP</title></head> <body> <?php echo "Primeiro Script"; ?> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 8 Digite no navegador: http://localhost/aula/ Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 9 Clique no primeiro.php Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 10 O navegador exibirá o nosso primeiro Script Php! Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 11 O navegador irá mostrar Data e Hora Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 12 Php <html> <head><title>Aprendendo PHP</title></head> <body> <?php $dia = date("d/m/y"); $hora = date("h:m:s"); echo "Data de Hoje:",$dia; echo " Hora:",$hora; ?> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 13 O navegador irá mostrar Data e Hora, um em cada linha, ou seja, com quebra Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 14 Área do retângulo Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 15 Área do retângulo <html> <head><title>Aprendendo PHP</title></head> <body> <?php $largura = 5.6; $altura = 8; $area = $largura * $altura; echo "A area do retângulo é ",$area,"cm quadrados"; echo "<br /> "; echo "<br /> Este Retângulo possui a altura igual a ",$altura,"cm"; echo "<br /> e largura igual a ",$largura,"cm"; ?> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 16 Atividade Avaliativa 1 Desenvolva um programa em PHP para calcular a área de um triângulo. Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 17 Atividade Avaliativa 2 Desenvolva um programa em Php para calcular a idade média das pessoas que estão ao seu lado no laboratório de informática! Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 18 Entrada de dados através de Formulários Exemplo para a soma de dois numeros quaisquer Entrada de dados -> html Saída de dados -> php Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 19 Html -> Entrada de dados Salve o arquivo com o nome somaform.html <html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="soma.php"> <input type="text" name="n1" /> <input type="text" name="n2" /> <input type="submit" value="Somar" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 20 Php -> Saída de dados Salve o arquivo com o nome soma.php <?php extract($_POST); $soma=$n1+$n2; echo("Valor1 = $n1 <br> Valor2 = $n2 <br> Soma dos valores é igual a: $soma"); ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 21 O método POST é usado quando queremos enviar dados a serem gravados em um banco de dados ou uma pesquisa. O método GET é usado quando queremos pesquisar ou passar dados para uma outra página usando a URL da página. O botão para Somar está construído na linha abaixo <input type="submit" value="Somar" /> Determinação do tipo de triângulo Entrada de Dados Saída dos Dados. Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 23 Tipo de triângulo (Html) <html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="tipotriangulo.php"> lado 1 <input type="text" name="l1" /> lado 2 <input type="text" name="l2" /> lado 3 <input type="text" name="l3" /> <input type="submit" value="Verificar" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 24 Tipo de triângulo (Php) <?php extract($_POST); if (($l1==$l2) and ($l2==$l3)) echo "O triângulo é Equilátero"; elseif (($l1==$l2) or ($l1==$l3) or ($l2==$l3)) echo "O triângulo é Isóceles"; else echo "O triângulo é Escaleno"; ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 25 Tabela de Multiplicação Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 26 Tabela de Multiplicação Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 27 Entrada de Dados -> Html <html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="tabuadamultiplicacao.php"> De qual numero você deseja a tabuada de multiplicação? <input type="text" name="n" /> <input type="submit" value="Mostrar a Tabela" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 28 Saída de Dados -> PhP <?php extract($_POST); $b=1; while ($b<=10){ echo "<br/>",$b,"X",$n,"=",$b*$n; $b=$b+1; } ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 29 Conversão entre Escalas Termométricas (Celcius para Farenheit) Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 30 Resultado da transformação Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 31 html <html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="conversaotermometrica.php"> De qual temperatura na escala Celcius você deseja na escala Farenheit? <input type="text" name="t1" /> <input type="submit" value="Mostrar a conversão" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 32 Php <?php extract($_POST); echo "============================================== "; echo "<br />Conversão Termométrica de ",$t1,"ºC Para a Escala Farenheit"; echo "<br /> ============================================== "; echo ""; $tf=(9*$t1/5)+32; Echo "<br/>", $t1,"ºC -------->",$tf,"ºF"; echo "<br /> ============================================== "; ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 33 Tabela de Conversão (Celcius para farenheit) Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 34 Tabela de Conversão (Celcius para farenheit) Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 35 html <html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="tabeladeconversao.php"> De qual temperatura inicial você deseja a tabela? <input type="text" name="t1" /> Até qual temperatura você deseja a conversão? <input type="text" name="t2" /> <input type="submit" value="Mostrar a Tabela" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 36 PhP <?php extract($_POST); echo "============================================== "; echo "<br />Tabela de Conversão Termométrica de ",$t1," ºC até",$t2," ºC Para Farenheit"; echo "<br /> ============================================== "; echo ""; while ($t1<=$t2){ $tf=(9*$t1/5)+32; Echo "<br/>", $t1,"ºC -------->",$tf,"ºF"; $t1=$t1+1; } echo "<br /> ============================================== "; ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 37 Metros para Centímetros, Milímetros e Kilômetros Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 38 Metros para Centímetros, Milímetros e Kilômetros Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 39 metrosform.html <html> <head><title>Aprendendo PHP</title></head> <body> <form method="post" action="metros.php"> Qual a medida inicial em metros você deseja converter para centímetros, milimetros e Kilômetros? <input type="text" name="M1" /> Qual a medida final em metros você deseja converter para centímetros, milimetros e Kilômetros? <input type="text" name="M2" /> <input type="submit" value="Mostrar a Tabela" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 40 metros.php <?php extract($_POST); echo "============================================== "; echo "<br />Tabela de Conversão de Metros",$M1," m até ",$M2," m"; echo "<br /> ============================================== "; echo ""; while ($M1<=$M2){ $cm=$M1*100; $mm=$M1*1000; $km=$M1/1000; Echo "<br/>", $M1,"M -------->",$cm,"Cm","-------->",$mm," Mm","-------->",$km," Km"; $M1=$M1+1; } echo "<br /> ============================================== "; ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 41 Atividade Avaliativa 3 Desenvolva um programa utilizando Html + Php tendo uma medida qualquer em metros transforma-lo em: km - hm - dam - m - dm - cm – mm Exemplo: Qual a medida em metros? 5 Conversão: km - hm 0,005 0,05 - dam - m - dm - cm 0,5 5 50 500 - mm 5000 Atividade Avaliativa 4 Desenvolva um programa em PhP para o cálculo do IMC Iíndice de Massa Corporal) de uma pessoa qualquer. Atividade Avaliativa 5 Desenvolva um programa em Php para determinar quanto pagaremos pelo uso de vários equipamentos à concessionária de energia Elétrica (Celpa) Passos para a solução do problema Conexão ao SGDB Mysql para realização de Inclusão, Exibição, Alteração e Remoção de Registros Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 47 Crie a tabela clientes no Banco de Dados test Criando Uma Tabela CREATE TABLE clientes( codigo int(4) AUTO_INCREMENT, nome varchar(30) NOT NULL, email varchar(50), data_nascimento date, PRIMARY KEY (codigo) ) Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 48 Conexão com o Banco de Dados Teste e com a tabela clientes. Salve na pasta Aula com o nome conexao.php <?php $host="localhost"; //nome do servidor $username="root"; //Login Usuário Mysql $password=""; //Senha do usuario Mysql $db_name="test"; //Nome do Banco de Dados $tabela="cliente"; //Tabela Clientes //conexão com o servidor //$conect = mysql_connect("$host", "$username", "$password"); $conect = mysql_connect($host, $username, $password); // Caso a conexão seja reprovada, exibe na tela uma mensagem de erro if (!$conect) { Echo "Falha na conexa com o Banco de Dados!"; exit(); } // Caso a conexão seja aprovada, então conecta o Banco de Dados. $db = mysql_select_db("db_name"); if(!@mysql_select_db ($db_name)) { echo "Erro ao conectar ao Banco de dados"; exit(); } ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 49 Menu Principal Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 50 Menu Principal -> Salvar o arquivo na pasta aula com o nome index.html <html> <title>Projeto Integração com Banco de Dados</title> <body> <h1>Menu</h1> <a href="listarcliente.php">Listar Clientes</a> | <a href="cadcliente.php">Cadastro de Clientes</a> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 51 . . . <a href="listarcliente.php">Listar Clientes</a> | <a href="cadcliente.php">Cadastro de Clientes</a> . . . Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 52 cadcliente.php Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 53 Nome do arquivo: cadcliente.php Salvar na pasta: aula <html> <body> <form method="post" action="incluircliente.php"> <a href="listarcliente.php">Listar Clientes</a> <a href="index.php">Voltar</a><br/><br/> <form action="incluircliente.php" method="post"> Nome: <input type="text" name="Nome" maxlength="50"/><br/> Email: <input type="text" name="Email" maxlength="20"/><br/> Data do Nascimento: <input type="text" name="data_nascimento" maxlength="20"/><br/> <input type="submit" name="salvar" value="Salvar" /> </form> </body> </html> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 54 Nome do arquivo: incluircliente.php Salvar na pasta: aula <?php //Conectando ao banco include ("conexao.php"); //traz as variáveis do formulário //$codcliente = $_POST["codcliente"]; $Nome = $_POST["Nome"]; $Email = $_POST["Email"]; $data_nascimento = $_POST["data_nascimento"]; //if para ver se foi executado com sucesso a query if (mysql_query("insert into clientes (Nome, Email, data_nascimento) values ('$Nome','$Email','$data_nascimento')")) { //exibe a mensagem de Cadastrado e a de voltar a tela anterior echo "Cadastrado! <br> <a href='javascript:history.back(-1);'>voltar<a/>"; exit; //Se não, é exibido um erro }else{ echo mysql_error(); exit; } Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com ?> 55 Listar Clientes Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 56 Nome do arquivo: listarcliente.php Salvar na pasta: aula <?php //Conectando include("conexao.php"); //Fazendo uma busca no Banco de Dados $sql = mysql_query("SELECT codigo, nome, email, data_nascimento FROM clientes"); echo "Codigo | Nome | E-mail | Data do Nascimento <br>"; //Retorna uma matriz associativa dos dados while($exibe = mysql_fetch_assoc($sql)){ echo $exibe["codigo"]." | "; echo $exibe["nome"]." | "; echo $exibe["email"]." | "; echo $exibe["data_nascimento"]."<br>"; } Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 57 Acrescentar o Editar e o Remover no listar clientes Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 58 Acrescentar e alterar no arquivo listarcliente.php <?php //Conectando include("conexao.php"); //Fazendo uma busca no Banco de Dados $sql = mysql_query("SELECT codigo, nome, email, data_nascimento FROM clientes"); echo "--------->Codigo | Nome | E-mail | Data do Nascimento <br>"; //Retorna uma matriz associativa dos dados while($exibe = mysql_fetch_assoc($sql)){ echo"<a href='#'>Editar</a>"; echo $exibe["codigo"]." | "; echo $exibe["nome"]." | "; echo $exibe["email"]." | "; echo $exibe["data_nascimento"]." | "; //Passa por parâmetro a linha a ser removida echo "<a href='removercliente.php?&codigo=".$exibe['codigo']."'>Remover</a> <br>"; } ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 59 Remover Registro Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 60 Nome do arquivo: removercliente.php Salvar na pasta: aula <?php //Conectando ao banco include ("conexao.php"); //envia via Get o código a ser removido ao Banco de Dados $codigo = $_GET["codigo"]; //if para ver se foi removido com sucesso a query if (mysql_query("delete from clientes where codigo='$codigo'")) { //exibe a mensagem de Remoção e volta a tela anterior echo "Removido! <br> <a href='javascript:history.back(-1);'>voltar<a/>"; exit; //Se não, será exibido um erro }else{ echo mysql_error(); exit; } ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 61 Alterar um Registro Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 62 Alterar um Registro Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 63 Acrescentar e alterar no arquivo listarcliente.php <?php //Conectando include("conexao.php"); //Fazendo uma busca no Banco de Dados $sql = mysql_query("SELECT codigo, nome, email, data_nascimento FROM clientes"); echo "--------->Codigo | Nome | E-mail | Data do Nascimento <br>"; //Retorna uma matriz associativa dos dados while($exibe = mysql_fetch_assoc($sql)){ echo"<a href='editarclienteform.php?&codigo=".$exibe['codigo']."'>Editar</a>"; echo $exibe["codigo"]." | "; echo $exibe["nome"]." | "; echo $exibe["email"]." | "; echo $exibe["data_nascimento"]." | "; //Passa por parâmetro a linha a ser removida echo "<a href='removercliente.php?&codigo=".$exibe['codigo']."'>Remover</a> <br>"; } ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 64 Nome do arquivo: editarclienteform.php pasta: aula <html> <body> <?php include("conexao.php"); $codigo = $_GET["codigo"]; $sql = mysql_query("select * from clientes where codigo='$codigo'"); $exibe = mysql_fetch_assoc($sql); ?> <form method="post" action="editarcliente.php"> <a href="listarcliente.php">Listar Clientes</a> <input name="codigo" type="hidden" value="<?php echo $exibe["codigo"]; ?>"/> <a href="index.php">Voltar</a><br/><br/> <form action="incluircliente.php" method="post"> Nome: <input type="text" name="Nome" maxlength="50" value="<?php echo $exibe["nome"]; ?>"/> Email: <input type="text" name="Email" maxlength="20" value="<?php echo $exibe["email"]; ?>"/> Data do Nascimento: <input type="text" name="data_nascimento" maxlength="20" value="<?php echo $exibe["email"]; ?>"/> <input type="submit" name="Salvar" value="Salvar" /> </form> </body> Prof. Luiz Claudio F. de Souza </html> www.luizclaudiofs.blogspot.com 65 Nome do arquivo: editarcliente.php pasta: aula <?php //Conectando ao banco include ("conexao.php"); //traz as variáveis do formulário $codigo = $_POST["codigo"]; $Nome = $_POST["Nome"]; $Email = $_POST["Email"]; $data_nascimento = $_POST["data_nascimento"]; //if para ver se foi executado com sucesso a query if (mysql_query("update clientes set Nome='$Nome',Email='$Email',data_nascimento='$data_nascimento' where codigo='$codigo'")){ //exibe a mensagem de Cadastrado e a de voltar a tela anterior echo "Alterado! <br> <a href='javascript:history.back(-1);'>voltar<a/>"; exit; //Se não é exibido um erro }else{ echo mysql_error(); exit; } ?> Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 66