A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 5 – Web Dinâmica com PHP e MySQL Universidade Federal de Uberlândia Faculdade de Computação.

Apresentações semelhantes


Apresentação em tema: "Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 5 – Web Dinâmica com PHP e MySQL Universidade Federal de Uberlândia Faculdade de Computação."— Transcrição da apresentação:

1 Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 5 – Web Dinâmica com PHP e MySQL Universidade Federal de Uberlândia Faculdade de Computação

2  PHP é uma linguagem de script utilizada no desenvolvimento de páginas Web interativas e dinâmicas;  Scripts em PHP são executados no lado do servidor, diferentemente daqueles em JavaScript, que rodam no lado do cliente (navegador);  Amplamente utilizada e gratuita;  PHP é um acrônimo recursivo para PHP: Hypertext Preprocessor Programação para Internet - Prof. Dr. Daniel A. Furtado 2

3  Arquivo PHP (.php)  Um arquivo PHP pode conter elementos HTML, texto, CSS, e o código PHP;  O código PHP é executado no servidor, e o resultado é enviado para o navegador como um arquivo HTML;  O que pode ser feito com PHP  Gerar conteúdo de página dinamicamente;  Manipular arquivos no servidor;  Coletar e manipular dados de formulários;  Enviar e receber cookies;  Adicionar, atualizar ou remover dados em um banco de dados;  Criptografar dados;  Controle de acesso; Programação para Internet - Prof. Dr. Daniel A. Furtado 3

4  Para utilizar PHP, é preciso:  Utilizar um servidor de hospedagem web (web host) com suporte a PHP; ou  Instalar um servidor web no próprio PC e instalar e configurar o PHP; Programação para Internet - Prof. Dr. Daniel A. Furtado 4

5  Um script PHP começa com Programação para Internet - Prof. Dr. Daniel A. Furtado 5 <?php // Código PHP… ?>

6  Um arquivo PHP normalmente contém tags HTML e código PHP;  A função echo retorna um texto formatado para a página; Programação para Internet - Prof. Dr. Daniel A. Furtado 6 1. 2. 3. 4. Primeira página PHP 5. <?php 6. echo "Hello World!"; 7. ?> 8. 9. 10.

7  Comentários em PHP podem ser inseridos de maneira semelhante a outras linguagens de programação Programação para Internet - Prof. Dr. Daniel A. Furtado 7 1. 2. 3. 4. Primeira página PHP 5. <?php 6. // comentário de linha /* comentário de bloco */ 7. ?> 8. 9. 10.

8  PHP não é sensível à caixa (case-sensitive) com respeito às palavras reservadas, nomes de classes e funções;  Entretanto, PHP é sensível à caixa com respeito aos nomes de variáveis; Programação para Internet - Prof. Dr. Daniel A. Furtado 8

9  Em PHP, uma variável começa com o símbolo $, seguido pelo nome propriamente dito;  Não há um comando para declarar uma variável; ela é declarada no momento de sua primeira atribuição; Programação para Internet - Prof. Dr. Daniel A. Furtado 9 <?php $x = 10; $y = 2.5; $msg = "um texto qualquer"; ?>

10  O escopo de uma variável é a parte do script onde a variável pode ser acessada;  Em PHP, uma variável pode ser local ou global;  Uma variável declarada fora de uma função tem escopo global e pode ser acessada somente fora das funções (exceto se for utilizada a palavra reservada global para realizar o acesso dentro da função);  Uma variável declarada dentro de uma função tem escopo local e pode ser acessada somente dentro da função; Programação para Internet - Prof. Dr. Daniel A. Furtado 10

11 Programação para Internet - Prof. Dr. Daniel A. Furtado 11 1. <?php 2. $x = 5; // escopo global 3. function Teste() { 4. // acessar x dentro desta função resultará em um erro 5. echo " Variável x dentro da função: $x "; 6. 7. // entretanto, ela pode ser acessada desta forma 8. global $x; 9. echo " Variável x dentro da função (com global): $x "; 10. } 11. Teste(); 12. echo " Variavel x fora da função: $x "; 13. ?>

12  PHP suporta os seguintes tipos de dados:  String  Integer  Float  Boolean  Array  Object  NULL  Resource Programação para Internet - Prof. Dr. Daniel A. Furtado 12

13 Programação para Internet - Prof. Dr. Daniel A. Furtado 13 1. <?php 2. $x = 5; // variavel do tipo integer 3. $y = -6; // variavel do tipo integer 4. $z = 3.14; // variavel do tipo float 5. $str = "bla bla bla"; // variavel do tipo string 6. $cond = true; // variável booleana 7. $estados = array("MG","SP","RJ"); // array de strings 8. echo $estados[0]. " "; // mostra o 1o elemento 9. echo $estados[1]. " "; // mostra o 2o elemento 10. ?>

14 Programação para Internet - Prof. Dr. Daniel A. Furtado 14 OperadorSignificado = Atribuição += Atribuição com soma -= Atribuição com subtração *= Atribuição com multiplicação /= Atribuição com divisão %= Atribuição com módulo

15 Programação para Internet - Prof. Dr. Daniel A. Furtado 15 OperadorSignificado + Adição - Subtração * Multiplicação / Divisão % Resto da divisão inteira (módulo) ++ Incremento -- Decremento ** Exponenciação

16 Programação para Internet - Prof. Dr. Daniel A. Furtado 16 OperadorSignificado == Comparação por igualdade === Verifica se valores são idênticos (igual e de mesmo tipo) != ou <> Diferente > Maior que >= Maior ou igual a < Menor que <= Menor ou igual a && ou and “E” lógico || ou or “Ou” lógico ! Negação lógica

17  Declaração if simples  Declaração if-else Programação para Internet - Prof. Dr. Daniel A. Furtado 17 if (expressão) { // operações a serem executadas // caso 'expressao' seja verdadeira } if (expressão) { // operações a serem executadas caso 'expressao' seja verdadeira } else { // operações a serem executadas caso 'expressao' seja falsa }

18  Declarações if-else aninhadas Programação para Internet - Prof. Dr. Daniel A. Furtado 18 if (expressao1) { // ops. a serem executadas caso 'expressao1' seja verdadeira } else if (expressao2) { // ops. a serem executadas caso 'expressao2' seja verdadeira } else if (expressao3) { // ops. a serem executadas caso 'expressao3' seja verdadeira } else { // ops. a serem executadas caso nenhuma expressão seja verdadeira }

19  PHP também disponibiliza a declaração elseif Programação para Internet - Prof. Dr. Daniel A. Furtado 19 if (expressao1) { // ops. a serem executadas caso 'expressao1' seja verdadeira } elseif (expressao2) { // ops. a serem executadas caso 'expressao2' seja verdadeira } elseif (expressao3) { // ops. a serem executadas caso 'expressao3' seja verdadeira } else { // ops. a serem executadas caso nenhuma expressão seja verdadeira }

20  Permite comparar uma expressão com diversas condições possíveis: Programação para Internet - Prof. Dr. Daniel A. Furtado 20 switch (expressao){ case condicao1: // bloco de operações break; case condicao1: // bloco de operações break;... case condicaon: // bloco de operações break; default: // bloco de operações }

21 Exemplo: Programação para Internet - Prof. Dr. Daniel A. Furtado 21 $corFav = "azul"; switch ($corFav) { case "vermelha": echo "sua cor favorita eh vermelha"; break; case "azul": echo "sua cor favorita eh azul"; break; case "amarela": echo "sua cor favorita eh amarela"; break; }

22  Repete um bloco de declarações enquanto uma expressão for verdadeira;  “operação” while (expressao) { // operações a serem executadas // enquanto 'expressao' for // verdadeira }

23  Semelhante à estrutura while, porém a condição é verificada após a execução do bloco de operações;  “operação” do { // Operações a serem executadas // enquanto 'expressao' for // verdadeira; // Este bloco de operações é sempre // executado pelo menos uma vez } while (expressao)

24  A estrutura for compreende três partes principais:  initialization: declaração executada uma única vez, antes do laço ter início;  test condition: condição que é verificada antes de cada execução do bloco de operações; se for verdadeira, o bloco é executado; se for falsa, o laço encerra.  iteration statement: executada após cada execução do bloco de operações.  Exemplo: for (initialization; test condition; iteration statement) { // operações a serem executadas caso // 'test condition' seja verdadeira } $soma = 0; for ($i=0; $i<10; $i++) { $soma += $i; } echo "A soma dos números de 0 a 10 é $soma ";

25  Utilizada somente com arrays 1. <?php 2. $colors = array("red", "green", "blue", "yellow"); 3. foreach ($colors as $value) { 4. echo "$value "; 5. } 6. ?>

26  Sintaxe:  Exemplo: Programação para Internet - Prof. Dr. Daniel A. Furtado 26 function nomeFuncao(parâmetros) { // operações da função }... function max($a, $b) { if ($a > $b) return $a; else return $b; }... echo “O maior numero entre 5 e 8 eh: “. max(5,8);

27 1. 2. 3. 4. Nome: 5. E-mail: 6. 7. 8. 9. Programação para Internet - Prof. Dr. Daniel A. Furtado 27 1. 2. 3. <?php 4. $nome = $_POST["nome"]; // o array $_POST armazena os val. dos campos 5. $email = $_POST["email"]; // do formulário enviado pelo método 'post' 6. echo "Bem vindo, $nome! "; 7. echo "Seu e-mail eh: $email! "; 8. ?> 9. 10. Formulário HTML Arquivo processaForm.php

28  O acesso a bancos de dados utilizando o PHP geralmente envolve três etapas: 1.Conexão com o servidor de banco de dados utilizando um nome de usuário e senha; 2.Execução das operações de dados necessárias, como inserção, consultas e atualizações no banco de dados; 3.Encerramento da conexão. Programação para Internet - Prof. Dr. Daniel A. Furtado 28

29  Para testar o script PHP do exemplo a seguir, crie uma tabela no banco de dados utilizando o seguinte código SQL: Programação para Internet - Prof. Dr. Daniel A. Furtado 29 1. CREATE TABLE Aluno 2. ( 3. matricula varchar(50), 4. nome varchar(50) 5. )

30 1. 2. <?php 3. // Para maior conveniencia, resgata os valores dos campos do 4. // formulario e armazena em variaveis 5. $nome = $_POST["nome"]; 6. $matricula = $_POST["matricula"]; 7. // Dados para conexao com o MySQL 8. $servername = "fdb7.awardspace.net"; // endereço do servidor MySQL 9. $username = "1875689_daniel"; // usuario do MySQL 10. $password = "FACOM39802"; // senha do usuario 11. $dbname = "1875689_daniel"; // nome do banco de dados 12. // Cria uma conexao com o MySQL e seleciona o 13. // banco de dados de nome 1875689_daniel 14. $conn = new mysqli($servername, $username, $password, $dbname); 15. // continua no proximo slide... Programação para Internet - Prof. Dr. Daniel A. Furtado 30 1. 2. 3. 4. Nome: 5. E-mail: 6. 7. 8. 9. Arquivo HTML Arquivo PHP

31 1. // Se um erro ocorreu durante a conexao, encerra o script 2. // e apresenta a mensagem de erro 3. if ($conn->connect_error) { 4. die("Falha na conexão com o MySQL: ". $conn->connect_error); 5. } 6. echo "Conectado ao MySQL"; 7. // Comando SQL para insercao dos dados do formulario na tabela Aluno 8. $sql = "INSERT INTO Aluno (matricula, nome) 9. VALUES ('$matricula', '$nome')"; 10. // Executa o comando SQL de insercao e verifica 11. // se houve sucesso na operacao 12. if ($conn->query($sql)) 13. echo "Dados inseridos com sucesso!"; 14. else 15. echo "Erro na execucao de: ". $sql. " ". $conn->error; 16. // Encerra a conexao com o MySQL 17. $conn->close(); 18. ?> 19. Programação para Internet - Prof. Dr. Daniel A. Furtado 31

32 1. 2. <?php 3....Conexao com o MySQL, como no exemplo anterior 4. // Consulta SQL a tabela Alunos 5. $sql = "SELECT * FROM Aluno"; 6. $resultado = $conn->query($sql); 7. if (!$resultado) 8. die("Ocorreu um erro ao executar a consulta: ". $conn->error); 9. 10. if ($resultado->num_rows > 0) 11. { 12. echo " Conteudo da tabela Aluno: "; 13. echo " \n"; 14. echo " Matricula Nome \n"; 15. 16. // Navega pelo resultado da consulta, linha a linha. 17. // O metodo fetch_assoc constroi um array associativo 18. // para a linha corrente do resultado. 19. while ($row = $resultado->fetch_assoc()) 20. { 21. echo " "; 22. echo " ".$row["matricula"]." "; 23. echo " ".$row["nome"]." "; 24. } 25. echo " "; 26. } 27. else 28. echo "Nenhum dado na tabela Aluno"; 29....Encerrar conexao e fechar HTML Programação para Internet - Prof. Dr. Daniel A. Furtado 32

33  É importante destacar que o exemplo anterior não trata qualquer questão relacionada à segurança dos dados e da página;  O objetivo do exemplo é mostrar uma conexão simples e direta com o MySQL;

34

35  Código SQL  Para tornar este exemplo mais simples, os interesses do cliente serão concatenados e armazenados em um único campo (o que não seria uma boa prática em uma situação real); 1. CREATE TABLE Cliente 2. ( 3. cpf char(12) primary key, 4. nome varchar(50) NOT NULL, 5. sexo char NOT NULL, 6. dataNasc date, 7. nroFilhos int, 8. telefone char(10), 9. interesses varchar(100) 10. ); 11.

36 1. 2. Interesses: 3. Esportes 4. Cinema 5. Automob. 6. Viagens 7.  No formulário HTML, os campos do tipo checkbox devem receber um nome seguido de colchetes (no PHP, será criado um vetor para armazenar os itens selecionados)

37 1.... Cabecalho HTML 2. include "dadosConexao.php"; 3. $nome = $_POST["nome"]; 4. $cpf = $_POST["cpf"]; 5. $dataNascimento = $_POST["dataNascimento"]; 6. $sexo = $_POST["sexo"]; 7. $fone_ddd = $_POST["fone-ddd"]; 8. $fone_nro = $_POST["fone-numero"]; 9. $telefone = $fone_ddd. $fone_nro; 10. $num_filhos = $_POST["num-filhos"]; 11. 12. $interesses = ""; 13. if (isset($_POST["interesses"])) 14. { 15. foreach ($_POST["interesses"] as $value) 16. $interesses = $interesses. $value. ";"; 17. 18. $interesses = rtrim($interesses, ";"); 19. } 20. // mostra a data de nascimento. Observar formato! 21. echo "Data de nascimento: $dataNascimento"; 22. 23. $db = new mysqli($servername, $username, $password, $dbname); 24. if ($db->connect_error) 25. die("Connection failed: ". $db->connect_error); 26. $sql = "INSERT INTO Cliente (cpf, nome, sexo, dataNasc, nroFilhos, telefone, interesses) VALUES ('$cpf', '$nome', '$sexo', '$dataNascimento', $num_filhos, '$telefone', '$interesses')"; Programação para Internet - Prof. Dr. Daniel A. Furtado 37

38 1. $sql = "SELECT cpf, nome FROM Cliente"; 2. $resultado = $conn->query($sql); 3. if (!$resultado) 4. die("Ocorreu um erro ao executar a consulta: ". $conn->error); 5. 6. if ($resultado->num_rows > 0) 7. { 8. echo " Clientes Cadastrados \n"; 9. echo " \n"; 10. echo " CPF Nome \n"; 11. while ($row = $resultado->fetch_assoc()) 12. { 13. $cpf = $row["cpf"]; 14. $nome = $row["nome"]; 15. echo " "; 16. echo " $cpf $nome "; 17. echo " Modificar "; echo " "; }

39 1. <?php 2. $cpf = $_GET['cpf']; 3. 4. echo "cpf recebido: ". $cpf; 5. $sql = "SELECT nome, nroFilhoes 6. FROM Cliente 7. WHERE cpf = '$cpf'"; 8. 9. $resultado = $conn->query($sql); 10. if (!$resultado) 11. die("Ocorreu um erro ao executar a consulta: ". $conn->error); 12. 13. $row = $resultado->fetch_assoc(); 14. $nome = $row["nome"]; 15. $nroFilhos = $row["nroFilhos"]; 16. ?> 17. 18. 19. 20. 21. Cadastro de Cliente 22. 23. 24. 25.... 26. 27. Nome: 28. "> 29.

40  www.w3schools.com Programação para Internet - Prof. Dr. Daniel A. Furtado 40


Carregar ppt "Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 5 – Web Dinâmica com PHP e MySQL Universidade Federal de Uberlândia Faculdade de Computação."

Apresentações semelhantes


Anúncios Google