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.

Slides:



Advertisements
Apresentações semelhantes
Criando aplicações WEB
Advertisements

Banco de Dados SQL Stored Procedures
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Programação Básica em Java
Tecnologia para Web JavaScript
Introdução ao JavaScript
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Banco de dados Profª Kelly Medeiros.
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Programação Web com PHP
Introdução a Computação e Cálculo Numérico
Aula R Prof. Naércio Filho Técnico em Informática
Por André Luis e Arthur Kalsing Mini-curso de PHP.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
FTIN Formação Técnica em Informática
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Seminário 1: Revisão de C
Programação de Computadores
O Portal do Estudante de Computação
ASP (Active Server Pages)
Desenvolvendo um script SQL
Algoritmo e Programação
1 JavaScript. 2 JavaScript  Introdução  Fatos Sobre JavaScript  Embutindo JavaScript no HTML  Características da Linguagem:  sintaxe  objetos 
Desenvolvimento de WEB sites com PHP Breno Leonardo Gomes de Menezes Araújo
PrograMação para internet
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Baseado no material do Professor Raul Paradeda
A Linguagem PHP Instituto Vianna Júnior Desenvolvimento para Web Prof. Lúcia Helena de Magalhães 2008.
Introdução à Linguagem C
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
PROGRAMAÇÃO WEB AULA 01 Prof. Gustavo Linhares
Prof. Renato de Oliveira Bastos
Banco de dados O que é MySQL Criar bando de dados
JAVASCRIPT Tutorial Básico Aden Soares OBS: NÃO CONFUNDIR JAVASCRIPT COM JAVA ► O que é JavaScript? É uma linguagem de programação utilizada para.
PHP – Aula01 Ferramentas -Web.
Fundamentos da Linguagem C#
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 4 – Introdução ao JavaScript Universidade Federal de Uberlândia Faculdade de Computação.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 2 Universidade Federal de Uberlândia Faculdade de Computação.
Conexão com Banco de Dados
Curso Técnico em Informática Professor Igor Vale.
Desenvolvimento WEB Prof. Renato de Oliveira Bastos
Desenvolvimento WEB Prof. Renato de Oliveira Bastos
Prof. Renato de Oliveira Bastos
JAVASCRIPT Programação Web. O que é  E uma linguagem interpretada que e executada na maquina do cliente  Não esta associada ao framework java  Não.
Técnico em Informática - Senac
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Linguagem de definição de dados - SQL
APRESENTAÇÃO DA DISCIPLINA
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Programação para Web I AULA 2 BANCO DE DADOS.
Prof. Renato de Oliveira Bastos
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Por André Luis e Arthur Kalsing Mini-curso de PHP.
Ismael Stangherlini – Programa de Educação Tutorial.
Programação para Internet Rica– Aula 05 Prof. Me. Ronnison Reges Vidal.
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
Banco de Dados Marcio Ferreira da Silva. PHP e Banco de Dados Uma das facilidades do PHP é na utilização dos bancos de dados. O MySQL é um banco de dados.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
 Linguagem do tipo script  Roda do lado do servidor – “server-side”  Suporte à vários BDs (MySQL, Postgres, Oracle, entre outros.)  Ferramentas grátis.
Tecnologia para Internet - II
Transcrição da apresentação:

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

 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

 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

 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

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

 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 Primeira página PHP 5. <?php 6. echo "Hello World!"; 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 Primeira página PHP 5. <?php 6. // comentário de linha /* comentário de bloco */ 7. ?>

 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

 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"; ?>

 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

Programação para Internet - Prof. Dr. Daniel A. Furtado <?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 "; // 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. ?>

 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

Programação para Internet - Prof. Dr. Daniel A. Furtado <?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. ?>

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

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

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

 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 }

 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 }

 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 }

 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 }

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; }

 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 }

 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)

 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 ";

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

 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);

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

 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

 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 CREATE TABLE Aluno 2. ( 3. matricula varchar(50), 4. nome varchar(50) 5. )

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 = " _daniel"; // usuario do MySQL 10. $password = "FACOM39802"; // senha do usuario 11. $dbname = " _daniel"; // nome do banco de dados 12. // Cria uma conexao com o MySQL e seleciona o 13. // banco de dados de nome _daniel 14. $conn = new mysqli($servername, $username, $password, $dbname); 15. // continua no proximo slide... Programação para Internet - Prof. Dr. Daniel A. Furtado Nome: Arquivo HTML Arquivo PHP

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

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); if ($resultado->num_rows > 0) 11. { 12. echo " Conteudo da tabela Aluno: "; 13. echo " \n"; 14. echo " Matricula Nome \n"; // 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"; Encerrar conexao e fechar HTML Programação para Internet - Prof. Dr. Daniel A. Furtado 32

 É 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;

 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.

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)

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"]; $interesses = ""; 13. if (isset($_POST["interesses"])) 14. { 15. foreach ($_POST["interesses"] as $value) 16. $interesses = $interesses. $value. ";"; $interesses = rtrim($interesses, ";"); 19. } 20. // mostra a data de nascimento. Observar formato! 21. echo "Data de nascimento: $dataNascimento"; $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

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); 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 " "; }

1. <?php 2. $cpf = $_GET['cpf']; echo "cpf recebido: ". $cpf; 5. $sql = "SELECT nome, nroFilhoes 6. FROM Cliente 7. WHERE cpf = '$cpf'"; $resultado = $conn->query($sql); 10. if (!$resultado) 11. die("Ocorreu um erro ao executar a consulta: ". $conn->error); $row = $resultado->fetch_assoc(); 14. $nome = $row["nome"]; 15. $nroFilhos = $row["nroFilhos"]; 16. ?> Cadastro de Cliente Nome: 28. "> 29.

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