Professor Luiz José Hoffmann Filho

Slides:



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

Apresentação Este módulo permitirá aos alunos desenvolveram aplicações web com acesso a bases de dados, disponibilizando a informação de uma forma dinâmica.
HTML - HiperText Markup Language Tecnologia para Web
HTML – Hyper Text Markup Language
PHP - MySQL © Ana Lucas– 2007versão 1.0 Funções PHP para Interagir com o MySQL.
Formulários Um formulário é um modelo para a entrada de um conjunto de dados. O elemento delimita um formulário e contém uma seqüência de elementos de.
PHP PHP e a WWW Funcionamento do PHP PHP com Apache e MySQL XAMPP.
Curso EFA de técnico de Informática e Sistemas
Programação Web com PHP
Ferramentas para Sistema Web Sistemas de Informação Aula 10 – 15/05/2013.
Aula R Prof. Naércio Filho Técnico em Informática
Aulas ministradas por:
Arquitecturas de extensão do servidor HTTP CGI | ISAPI : ASP, ASP.NET Programação na Internet Secção de Programação ISEL-DEETC-LEIC Luis Falcão -
Arquitecturas de extensão do servidor HTTP Arquitecturas de extensão do servidor HTTP CGI e ISAPI: ASP, ASP.NET Programação na Internet Secção de Sistemas.
ASP (Active Server Pages)
Formulários HTML Professor Rafael Silva. Criação do formulário Elementos do formulário Action: Script, página ou para onde será enviado o formulário.
A Linguagem PHP Instituto Vianna Júnior Desenvolvimento para Web Prof. Lúcia Helena de Magalhães 2008.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Prof. Renato de Oliveira Bastos
Formulários em PHP Trabalhando o HTML + PHP
Prof. Renato de Oliveira Bastos
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
Suporte Informático 1. Descrição do sistema  3 – servidores  1 – Base dados  1 – SCADA  1 – Portal  1 – Switch  2 – ligações internet  1 – ligação.
Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino.
Wireshark Captura de Protocolos da camada de aplicação Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Maicon de Vargas Pereira.
Desenvolvimento de Aplicações Web com Java - Servlets e JSP Autor: Juliano Marcos Martins.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 18.
B EM V INDOS DREAMWEAVER+PHP+M Y SQL Professor: Engº Fernando Miranda.
B EM V INDOS DREAMWEAVER+PHP+M Y SQL Professor: Engº Fernando Miranda.
PHP Prof. Rone Ilídio UFSJ-DTECH-CAP. Aplicativos Necessários Servidor Web  Apache Plugin PHP Bando de Dados  MySQL Obs: o WAMP já vem com os três em.
Tecnologia e Programação WEB Ambiente de Laboratório Lab03.
Supervisão e Redes Industriais Tutorial E3 Elipse Capítulo 14 ARMAZENAMENTO DE DADOS Felipe Domeni, Gabriel Martin, Leandro Gomes Rafael Benoliel, Tiago.
LINGUAGEM DE PROGRAMAÇÃO WEB
Programação II Introdução.
PHP Linguagens e Técnicas de Programação
Revisão de Lógica de Programação e Desenvolvimento Web
Prof. Msc. Diovani Milhorim
Administração e serviços de redes
Persistência de dados e padrão DAO
Prof. Rone Ilídio UFSJ-DTECH-CAP
Métodos Formais em Engenharia de Software Utilização da Ferramenta VDMTools Lite João Pascoal Faria
Tema 1: Conceitos fundamentais de banco de dados
Administração e serviços de redes
Como funciona um site Você precisa saber o que é domínio e subdomínio.
Formulários Um formulário é um modelo para a entrada de um conjunto de dados. O elemento delimita um formulário e contém uma seqüência de elementos.
Webservices Rest.
Enviando os Dados com PHP
Protocolo HTTP Protocolo de Transferência de Hipertexto
Tecnologia para Internet - II
Métodos Formais em Engenharia de Software Utilização da Ferramenta VDMTools Lite João Pascoal Faria
Linguagem de Programação V
HTML 5 Introdução Prof. Rosemary Melo.
CAMADA DE ENLACE DE DADOS
Introdução à Linguagem JavaScript
Introdução à programação orientada por objetos
Access 2010 Microsoft. Access 2010  O Microsoft Access é um Sistema de Gestão de Base de Sados (SGBD) relacional em ambiente gráfico (Windows), que possibilita.
Programação para Internet Rica– Aula 06 Prof. Me. Ronnison Reges Vidal
Aplicativos para Internet Aula 13
Aplicativos para Internet Aula 12
Tecnologia para Internet - II
Introdução a Arquitetura, HTML e CSS
Tecnologia PHP Apresentada por.
Programação Estruturada Aula 1 Prof. Jorge Barreto Julho 2018.
Manual do aplicativo GESTÃO DE FICHEIROS 2003
Bem Vindos DREAMWEAVER+PHP+MySQL
TECNOLOGIA WEB HTML Formulários Aula 6 Profa. Rosemary Melo.
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Prática - BD Distribuído
Sobre a linguagem Criado em 1995 por Brendan Eich da Netscape nomeada inicialmente de Mocha, posteriormente LiveScript e por fim JavaScript. É um linguagem.
Transcrição da apresentação:

Professor Luiz José Hoffmann Filho ljhfilho@gmail.com PHP PHP e a WWW Funcionamento do PHP PHP com Apache e MySQL XAMPP Professor Luiz José Hoffmann Filho ljhfilho@gmail.com

PHP e a WWW Páginas estáticas / Páginas dinâmicas O PHP permite a criação de páginas dinâmicas.

Informação dinâmica O que fazer quando a informação que está no website muda constantemente, como por exemplo as cotações da bolsa? Neste caso, os documentos estáticos em HTML não são a melhor solução. É necessário criar HTML dinâmico para que no momento em que o cliente contacta o servidor lhe seja enviada a informação actualizada.

PHP É uma linguagem de programação vocacionada para o desenvolvimento de aplicações orientadas para a www. Existem 2 tipos de linguagens web: Baseadas no cliente (browser) (JavaScript, ActiveX, Java Applets, etc…) Baseadas no servidor. (PHP, ASP, etc…)

PHP O código PHP é embebido no código HTML dando origem a um script contendo instruções específicas. O servidor lê o código PHP e interpreta os comandos.

Exemplo 1 <?php /*php_1.php */?> <html> <head> <title> Resultado </title> </head> <body> <?php $X=5; $Y=3; $Z=$X+$Y; echo “Total ”; echo “= $Z”; ?> </body> </html>

Formulários HTML Botões Radio buttons Seleccion lists Input boxes Checkbox Etc…

Formulários HTML method - Especifica o modo como a informação é transmitida. Pode ser GET ou POST. action - Indica o nome e a localização do script PHP que irá processar a informação que foi introduzida no formulário.

Métodos de transmissão O protocolo HTTP (HiperText Transfer Protocol) utiliza vários métodos de manipulação e organização dos dados. Actualmente, os dois métodos mais utilizados para submeter dados de formulários são o GET e o POST. Ambos os métodos transferem dados do browser para o servidor, a maior diferença entre eles é a maneira como essa informação é transmitida.

GET O browser acrescenta ao URL, especificado no atributo ACTION, um "?" e os valores codificados; Os dados não são encriptados, logo informações que exigem segurança não devem ser manipuladas por este método; Suporta apenas até 128 caracteres, logo é útil para valores pequenos.

POST Os dados introduzidos num formulário fazem parte do corpo da mensagem enviada para o servidor; Pode encriptar os dados; É possível transferir uma grande quantidade de dados. Este é o método aconselhado.

Exemplo 2 Situação em que são usados dois ficheiros: form.html - É o local onde o utilizador fará os “inputs”. php_2.php - Contém os comandos PHP que irão processar os dados inseridos no formulário.

Exemplo 2 <html> <head> <title> formulário PHP </title> </head> <body> <form enctype="multipart/form-data" method="POST" action="php_2.php"> <p> Nome <input type="text" name="nome" size=30> </p> <p> Idade <input type="text" name="idade" size=2> </p> <p> Qual o carro que mais gostas? <select name="marca"> <option> Ferrari </option> <option> Mercedes </option> <option> BMW </option> </select> </p> <p> <input type="submit" value="OK"> </p> </form> </body> </html>

Exemplo 2 <?php /*php_2.php*/ ?> <html> <head> <title> Resultado </title> </head> <body> <?php echo "O meu nome é ".$_POST['nome']. " ,tenho " .$_POST['idade']. " anos e gosto de carros da marca " .$_POST['marca']; ?> </body> </html> Nota: Atenção à junção de texto com variáveis numa instrução de escrita

O que é preciso? Um cliente (browser) Um servidor Web (ex.: Apache) Um servidor de bases de dados (ex.: MySQL) Uma ferramenta que permita ligar tudo isto (ex.: PHP)

Cliente Servidor web PHP BD 1 2 3 4 1 - O cliente solicita a página ao servidor web. Este, verificando que existe um script PHP, chama o módulo PHP para efectuar o processamento. 2 - Se no script existirem comandos que abrem uma ligação a uma base de dados, o PHP trata de efectuar essa ligação. 3 - Os dados pretendidos são então extraidos da base de dados, sendo enviados pelo PHP ao servidor web em formato HTML. 4 - O servidor web envia os dados ao cliente, sendo estes visualizados numa página HTML devidamente formatada.

Porque utilizar o Apache? É o líder do mercado; É o mais seguro; Não tem concorrentes quanto à riqueza de recursos, estabilidade, performance, ...

Porque utilizar o MySQL? Baixa exigência de recursos de hardware; Simplicidade de administração; É o mais veloz do mercado; Foi optimizado para as aplicações típicas da Web, onde ocorrem mais consultas do que actualizações.

Porque usar PHP, Apache e MySQL? Porque fornecem tudo o que necessitamos para construir aplicações e web sites sofisticados, e de maneira mais simples do que outras alternativas. Principalmente porque são software livre!

Tenho que utilizar os três em conjunto? Não, esta é apenas uma combinação popular na Internet. Outras alternativas seriam: Apache com Perl, Python, ASP, Java, ... PHP com IIS, PWS, Xitami, ... PHP com PostgreSQL, Interbase, Oracle, DB2 ... MySQL com Perl, Phyton, ASP, Java, ...

Software Xampp -O XAMPPé um servidor Web multiplataforma constituído por um servidor HTTP Apache. X- Sistema operativo (atualmente suportado por windows, Linux, SunSolaris e MacOs. A-Apache M-MySQL P-PHP P-PERL wamp - Windows, Apache, MySQL e PHP lamp - Linux, Apache, MySQL e PHP

PHP SQL / MySQL Ligação a base de dados Selecção e visualização de registos Adicionar, Eliminar, Pesquisar e Editar registos

Acesso a bases de dados com PHP 1.º - Captar os dados 2.º - Estabelecer a ligação 3.º - Aplicar um comando SQL 4.º - Preparar os dados obtidos

Principais funções com suporte ao MySQL improved mysqli_connect - Estabelece uma ligação ao servidor ex.: $ligax = mysqli_connect('localhost', 'root', ‘password'); mysqli_select_db - Selecciona uma base de dados ex.: mysqli_select_db($ligax, 'vendas'); mysqli_query - Interroga uma base de dados ex.: mysqli_query($ligax, $insere); mysqli_num_rows - Devolve n.º de registos resultantes de uma consulta. ex.: $nregistos = mysqli_num_rows($result); mysqli_fetch_assoc - Guarda num array o resultado de uma consulta. for ($i=0; $i <$nregistos; $i++) { $registo = mysqli_fetch_assoc($result); echo '<tr> <td>' .$registo['CodCli']. '</td>'; echo '<td>' .$registo['Nome']. '</td>'; echo '<td>' .$registo['Morada']. '<td> </tr>'; } ex.:

Exemplo Servidor BD vendas Browser PHP Clientes Encomendas Fornecedores Artigos

Ficheiro ligacao.php $host = 'localhost'; $user = 'root'; $pwd = ''; $db = ‘dados'; $ligax=mysqli_connect($host, $user, $pwd) or die ('Não conseguiu fazer a conexão ao servidor'); mysqli_select_db($ligax,$db); <?php include (‘ligacao.php’);?>

Listar dados de uma BD LISTAR

<html> <head> <title> Listar Clientes </title> </head> <body> <h2> Lista de clientes: </h2> <br> <?php $ligax = mysqli_connect('localhost', 'root', ''); if (!$ligax) {echo '<p> Falha na ligação.';} mysqli_select_db($ligax, 'vendas'); $consulta = "Select * From Clientes"; $result = mysqli_query($ligax, $consulta); $nregistos = mysqli_num_rows($result); echo "Nº de registos encontrados: $nregistos "; ?> <br> <table border="1"> <tr><td> Codigo: <td> Nome: <td> Morada: </tr> for ($i=0; $i <$nregistos; $i++) { $registo = mysqli_fetch_assoc($result); echo '<tr>'; echo '<td>'.$registo['CodCli'].'</td>'; echo '<td>'.$registo['Nome'].'</td>'; echo '<td>'.$registo['Morada'].'<td>'; echo '</tr>'; echo '</p>'; } </table> <br> <a href="index.htm">Voltar à entrada</a> </body> </html>

Pesquisar dados numa BD Código php para pesquisar dados da tabela

<html> <head> <title>Mostrar</title> </head> <body> <h3>Mostrar cliente procurado</h3> <?php /*pesquisa.php*/ $nomeproc = $_POST['nome']; if (!$nomeproc) {echo "Volte atrás e escreva o nome.";} echo "<p>Nome procurado: $nomeproc. </p>"; $ligax = mysqli_connect('localhost', 'root',''); if (!$ligax){echo "<p> Falha na ligação."; exit; } mysqli_select_db($ligax, 'vendas'); $procura = "Select * from clientes where nome like ‘ %".$nomeproc."% ‘ "; $result = mysqli_query($ligax, $procura); $nregistos = mysqli_num_rows($result); echo "Nº de registos encontrados: $nregistos"; ?> <table border="1"> <tr><td> Codigo: <td> Nome: <td> Morada: </tr> <?php for ($i=0; $i <$nregistos; $i++) { $registo = mysqli_fetch_assoc($result); echo '<tr> <td>' .$registo['CodCli']. '</td>'; echo '<td>' .$registo['Nome']. '</td>'; echo '<td>' .$registo['Morada']. '<td> </tr>'; } ?> </table> <p> <a href="listar.php"> Listar registos </a> </body></html>

Adicionar dados a uma BD

<html> <head> <title> Inserir </title> </head> <body> <h2> Novo cliente </h2> <?php /*inserir.php*/ $cod = $_POST['codcli']; $nome = $_POST['nome']; $morada = $_POST['morada']; echo 'Dados recebidos: <br />'; echo 'Código: '.$cod.'<br />'; echo 'Nome: '.$nome.'<br />'; echo 'Morada: '.$morada.'<br />'; $ligax = mysqli_connect('localhost', 'root', ''); if (!$ligax) {echo '<p> Erro: Falha na ligação.'; exit;} mysqli_select_db($ligax, 'vendas'); $insere = “ INSERT INTO clientes ( CodCli, Nome, Morada ) VALUES (‘ ".$cod.“ ‘ , ‘ ".$nome.“ ‘ , ‘ ".$morada.“ ‘ )"; $result = mysqli_query($ligax, $insere); if ($result==1) echo "<p>Dados inseridos<br>"; else "<p>Dados não inseridos<br>"; ?> <p> <a href="index.htm">Voltar à entrada</a> <p> <a href="listar.php">Listar clientes</a> </body> </html>

Eliminar dados numa BD ELIMINAR

<html> <head> <title> Remover </title> </head> <body> <h2> Remover cliente </h2> <?php $codrem = $_POST['codcli']; if (!$codrem) {echo 'Volte atrás e escreva o código do cliente a remover.'; } echo "Cliente a remover: $codrem. <p>"; $ligax = mysqli_connect('localhost', 'root',''); if (!$ligax){echo "<p> Falha na ligação."; exit; } mysqli_select_db($ligax, 'vendas'); $consulta = "Select * From Clientes"; $result = mysqli_query($ligax, $consulta); $nr_antes = mysqli_num_rows($result); $remove = "delete from clientes where codcli =‘ ".$codrem." ' "; $result = mysqli_query($ligax, $remove); if ($result==0) echo "<p>Não removido<br>"; $nr_depois = mysqli_num_rows($result); $nr_removidos = $nr_antes - $nr_depois; echo 'Nº de registos removidos: '.$nr_removidos; ?> <p> <a href="listar.php"> Listar registos </a> </body> </html>

Exemplos de validações em PHP if ($pass!=$conf_pass || $pass=="") { $flag=true; $flag_pass=true; } if (!preg_match ("/^[0-9]{4}[\-][0-9]{3}$/",$cod_postal)) { $flag=true;$flag_cod_postal=true; if (!preg_match ("/^[0-9]{4}$/",$ano_nasc)) { $flag=true;$flag_ano_nasc=true; if (!preg_match ("/^[0-9]{9,12}$/",$telefone)) { $flag=true;$flag_telefone=true;