PHP PHP e a WWW Funcionamento do PHP PHP com Apache e MySQL XAMPP.

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.
Estruturas de Controle
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.
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Introdução aos Serviços Web
SCC Bancos de Dados e Suas Aplicações
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Wagner Santos C. de Jesus Alberson Wander Sá dos Santos
Utilizando a linguagem HTML para criar FORMULÁRIOS
Folha de Cálculo TIC 10.
Revisão da Linguagem C.
Curso EFA de técnico de Informática e Sistemas
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Programação Web com PHP
Dia 1 Overview.
A Linguagem HTML.
Aplicativos Web Com Orientação a Objetos
HTML Básico João Araujo.
Aula R Prof. Naércio Filho Técnico em Informática
Aulas ministradas por:
Por André Luis e Arthur Kalsing Mini-curso de PHP.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web PHP.
Formulários Objectivo: obter do utilizador respostas personalizadas
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 -
FTIN Formação Técnica em Informática
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
ACESSO A BASE DE DADOS.
Curso EFA de técnico de Informática e Sistemas
ASP (Active Server Pages)
Curso de Web Master Php – 1ª Aula.
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
Professor: Márcio Amador
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
7 - Criação de Páginas Web
PrograMação para internet
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Conceitos Programas Programação Linguagens de Programação SQL.
Curso Técnico em Informática Disciplina: Programação Web 2 - PHP
Criação de Páginas Web A Internet HTML Básico TIC 9º Ano
Ambiente Virtual de Aprendizagem Prof. M.Sc. Robson Santos da Silva.
A Linguagem PHP Instituto Vianna Júnior Desenvolvimento para Web Prof. Lúcia Helena de Magalhães 2008.
Aplicações Web com Orientação a Objetos
Unidade 6 – Formulários HTML Prof.: Henrique Santos
PROGRAMAÇÃO WEB AULA 02 Prof. Gustavo Linhares Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais.
PHP e Formulários Web.
Introdução ao MS Access
PROGRAMAÇÃO WEB AULA 01 Prof. Gustavo Linhares
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Professor: Pedro Lopes
Aula 1 Introdução à Programação WEB I PHP, ASP e JSP
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
Técnico em Informática - Senac
Aula 5 – Formulários GET – POST - REQUEST
Aula 5 – Formulários GET – POST - REQUEST
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Formulários em PHP Trabalhando o HTML + PHP
Programação para Web I AULA 2 BANCO DE DADOS.
Ismael Stangherlini – Programa de Educação Tutorial.
Programação para Internet Rica– Aula 05 Prof. Me. Ronnison Reges Vidal.
 Linguagem do tipo script  Roda do lado do servidor – “server-side”  Suporte à vários BDs (MySQL, Postgres, Oracle, entre outros.)  Ferramentas grátis.
Professor Luiz José Hoffmann Filho
Transcrição da apresentação:

PHP PHP e a WWW Funcionamento do PHP PHP com Apache e MySQL XAMPP

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 Tipos de dados Variáveis e constantes Operadores Estruturas de controlo

Operadores, tipos de dados e alguns caracteres especiais PHP Operadores, tipos de dados e alguns caracteres especiais Operadores Aritméticos Operadores lógicos Operadores relacionais + - * / % += -= *= /= %= ++ -- ! NOT && AND || OR == != < <= > >= === !== === (igualdade restrita) Tipos de dados Booleanos Inteiros, Strings, Array, Object Números reais (floating point) Alguns caracteres especiais \n Muda de linha \t Tabulação horizontal \r Volta início da linha

Variáveis $var=1234; //inteiro $var=-1234; //inteiro PHP Variáveis $var=1234; //inteiro $var=-1234; //inteiro $var= 1.234 //real $var= 1.2e3 $var=5; $var2= “O valor da variável é $var”; Em PHP o tipo de dados das variáveis não é definido pelo programador.

echo $arr[1]; // resulta em 20 Array multidimensional: PHP Arrays 0 1 2 3 4 5 6 7 $arr= array(5,20,32,400,500,62,47,58); echo $arr[1]; // resulta em 20 Array multidimensional: $arr=array(1,2, array(“Carlos”, array(7,9) ) , “xa”); echo $arr[0]; //resulta em 1 echo $arr[2][0]; // resulta em Carlos echo $arr[2][1][1]; // resulta em 9

Estruturas de controlo PHP Estruturas de controlo if(condição) <bloco de instruções> [else <bloco de instruções>] switch (selector) { case valor1: <bloco> break; case valor2: <bloco> break; … [default: <bloco>; ] } while (condição) <bloco de instruções>; do <bloco de instruções> while (condição); for (inicialização; condição; incremento) <bloco de instruções>;

Exemplo i3 <table border=”1”> <?php for($i=1; $i<6; $i++) { echo '<tr>'; $q=$i*$i*$i; echo "<td> $i </td>"; echo "<td> $q </td>"; echo '</tr>'; } ?> </table> i3

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;