O PHP e a World Wide Web



Documentos relacionados
Desenvolvendo Websites com PHP

Programação Web Prof. Wladimir


Programando em PHP. Conceitos Básicos

Entendendo como funciona o NAT

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

Linguagem de. Aula 06. Profa Cristiane Koehler

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Web Design. Prof. Felippe

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA. Reflexão Criação de páginas para a web em hipertexto

Scriptlets e Formulários

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Construção de um WebSite. Luís Ceia

Editor HTML. Composer

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Introdução ao PHP. Prof. Késsia Marchi

Tarefa Orientada 2 Criar uma base de dados

Pesquisa e organização de informação

Orientação a Objetos

Construção Páginas de Internet

Dadas a base e a altura de um triangulo, determinar sua área.

Conteúdo Programático de PHP

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

COMO FUNCIONA UM FORMULÁRIO

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

Transição de POC para SNC

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Escola Superior de Tecnologia de Setúbal. Projecto Final

O que é o JavaScript?

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Organizar a estrutura do site

18/04/2006 Micropagamento F2b Web Services Web rev 00

WEBSITE DEFIR PRO

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

WEBSITE. Como utilizar um site Assistente de Criação para criar seu próprio site

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

PHC dcontroldoc. O acesso a diversos tipos de ficheiros

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

P HC XL - Nem calcula o produto que temos para si...

Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais. Recomendação 1/99

HTML. Sessão 1 HTML. Cliente: browser (IE, por exemplo) Servidor: IIS (Internet Information Server), Apache, WebSphere,...

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Aplicações de Escritório Electrónico

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

PHC Serviços CS. A gestão de processos de prestação de serviços

MANUAL DO UTILIZADOR

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

HTML Página 1. Índice

PHP. Hypertext Pre-Processor

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto


Universidade da Beira Interior

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA ERP PORTUGAL

Prof. Marcelo Machado Cunha

Internet e Programação Web

Novo Formato de Logins Manual de Consulta

EDUTec Learning. José Paulo Ferreira Lousado

A SÈTIMA. O nosso principal objectivo

Web. Web. Web. Web. Unidade 4. Conceitos básicosb. Publicação. Web: Frontpage Programa de animação gráfica. Programa de edição

Introdução aos Computadores

SISTEMA DE INFORMAÇÃO DAS PARTICIPAÇÕES DO ESTADO

UFG - Instituto de Informática

POLÍTICA DE PRIVACIDADE

2.3. PHP Tipos de dados e operadores

MÓDULO 1 - Folha de Cálculo

Software PHC com MapPoint

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: URL:

INTRODUÇÃO AO DESENVOLVIMENTO WEB

O aumento da força de vendas da empresa

CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS. Módulo 788- Administração de Servidores Web. Ano letivo Docente: Ana Batista

Internet Visão Geral. O que é a Internet? Ong Ação Cidadã

Ferramentas Web, Web 2.0 e Software Livre em EVT

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 029/2014 PORTAL FPT Abertura aos atletas

Aplicação de Estatísticas de Ensino Superior

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS (GRUPO INFORMÁTICA) Ano Letivo de 2014/2015 MÓDULO 1 FOLHA DE CÁLCULO

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

CRIAÇÃO E MANUTENÇÃO DE BLOGUES

CARREGAR VARIÁVEIS EXTERNAS PARA O FLASH

Utilização do SOLVER do EXCEL

Tutorial: criação de uma Ficha de Voluntário online

Como criar e gerir um blog?

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Transcrição:

1 O PHP e a World Wide Web 1.1. Introdução Ler um livro sobre uma determinada linguagem de programação e colocar os conhecimentos aí adquiridos logo em prática não faz com que a aprendizagem dessa nova linguagem seja imediata e isenta de erros. Ler e pensar são o início de um longo processo para quem se quer iniciar com uma nova ferramenta de trabalho. Mas dada a variedade de ferramentas com que se tem de trabalhar na web, nem sempre os resultados são rapidamente visíveis. Para que se sinta mais confortável na leitura deste trabalho, convém possuir alguns conhecimentos de HTML, bases de dados e, se possível, alguns conhecimentos de uma linguagem estruturada, como o C/C++ ou o Perl. Neste livro, iremos adoptar os sistemas de gestão de bases de dados Microsoft Access e o MySQL como suporte para os exemplos aqui apresentados. Por isso, entende-se que, para tirar o máximo proveito desta ferramenta, o leitor deverá ter os conhecimentos mínimos de utilização destes sistemas. Obviamente que sendo um dos aspectos mais importantes do PHP o manuseamento de informação armazenada em bases de dados, convém, como não podia deixar de ser, ter conhecimentos na área de desenho de bases de dados e da linguagem SQL. Neste capítulo, iremos fazer uma breve apresentação das principais características do PHP, dando algumas indicações do modo como interactua com o HTML e com os sistemas de gestão de bases de dados e apresentando alguns exemplos iniciais sobre os mesmos. 1.2. Breve apresentação do PHP Para que um website se torne atractivo do ponto de vista da interactividade com os utilizadores, é necessário um trabalho complexo para que existam páginas para todas as possíveis solicitações efectuadas por esses mesmos utilizadores. A solução para facilitar essa tarefa passa pela execução de processos em que a criação de páginas se efectue de forma automática e dinâmica a pedido do utilizador final. O PHP é a ferramenta aqui abordada que permite a criação dessas páginas dinâmicas, capaz de ser embebido dentro de código HTML e efectuar determinadas operações capazes de gerar páginas instantaneamente. Mais interessante se torna quando essa interacção envolve o acesso à informação armazenada em bases de dados e consequente visualização dos dados referentes ao pedido efectuado. Mas existindo outras linguagens capazes de realizarem este tipo de tarefas, como, por exemplo, o Perl ou o Python, torna-se necessário saber quais as razões da existência do PHP e quais os grandes motivos do seu sucesso. 1

Programação com PHP 5.3 As principais razões serão indicadas adiante, mas pode-se adiantar que o PHP é uma combinação de uma linguagem de programação e de um servidor aplicacional. Este tipo de tecnologia está actualmente em crescente expansão, sendo um bom indicador do interesse que desperta perante a grande parte dos programadores da web na criação dinâmica de páginas. Funciona em praticamente todos os ambientes conhecidos, sendo suportada por uma enorme comunidade na Internet que contribui para a sua difusão e aceitação a nível mundial. Por outro lado, existe uma empresa, a Zend, que desenvolve e explora produtos relacionados com o PHP e que actua no mercado como grande impulsionadora desta excelente ferramenta, sendo a empresa estandarte no mundo PHP. Como linguagem de programação, é semelhante a muitas outras, no sentido em que possui variáveis para armazenar valores e operadores capazes de manipular essas variáveis. Igualmente de referir é o suporte para objectos, que é uma das suas mais-valias, e que a coloca em posição de ombrear com outras linguagens rivais. Mas o seu maior valor reside no papel que desempenha como servidor aplicacional. Adiante veremos com mais pormenor as suas potencialidades. 1.3. Acesso a documentos na web Tim Berners Lee inventou e desenvolveu no CERN a World Wide Web, criando para tal o HTTP (HyperText Transfer Protocol) e um outro conceito de importância primordial, o URL (Universal Resource Locator). Os browsers e os servidores de web comunicam utilizando o protocolo HTTP, permitindo assim que a informação possa ser transferida, seguindo um paradigma computacional cliente-servidor. Para que os browsers saibam como aceder aos servidores e o que fazer quando chegam ao seu destino, a utilização de um esquema de endereços como o URL é de enorme importância, permitindo referenciar todos os sites e informação por eles disponibilizados. De uma forma simplista, o que normalmente acontece quando se visita um website pode ser descrito da seguinte forma: 1) O browser descodifica a primeira parte do URL e contacta o servidor. 2) O browser fornece o restante do URL ao servidor. 3) O servidor transforma o URL num caminho e nome de ficheiro. 4) O servidor envia o documento ao browser. 5) O servidor corta a ligação. 6) O browser mostra o documento. Caso o documento possua ligações para outros documentos (por exemplo, imagens), o browser volta a executar toda a rotina e, sempre que se contacta o servidor, é como se nunca o tivesse feito, sendo produzido um novo documento a cada pedido efectuado. Independentemente de outros mecanismos mais complexos (por exemplo, proxies), afortunadamente, os browsers modernos também permitem manter uma cópia local dos documentos recentemente acedidos (cache) permitindo aliviar o tráfego existente, assim como 2

O PHP e a World Wide Web possuem os necessários mecanismos que permitem acelerar o rendering dos próprios documentos de web. Sendo isto excelente para aceder a texto estático ou visualizar imagens, tal deixa de ser válido quando se acede a informação que muda constantemente ou é solicitada pelo utilizador interactivamente consoante o momento, como, por exemplo, quando um utilizador pretende saber informação sobre um livro de uma biblioteca. O browser pouco ou nada sabe acerca dos documentos solicitados ao servidor. Aquilo que faz é, consoante a informação obtida do servidor, de acordo com as especificações MIME (Multipurpose Internet Mail Extensions), executar um conjunto de operações que permitem saber o que fazer com o documento. Deste modo, o browser sabe que, se o documento for em HTML, é para visualizar, mas se for um ficheiro do tipo ZIP, sabe que terá de permitir a gravação do mesmo para o disco. 1.4. HTML estático versus HTML dinâmico A maior parte das páginas HTML não se modifica significativamente ao longo do tempo (embora isto possa contrariar um dos bons princípios do web design que indica que uma boa página da web é aquela que é actualizada frequentemente), sendo por isso possível estabelecer ligações entre páginas de sites diferentes, permitindo assim que motores de pesquisa as consigam catalogar e indexar. É deste modo possível encontrar sempre as mesmas páginas quando se visitam os mesmos sites. É por isso que as podemos encontrar hoje, amanhã, na próxima semana ou até mesmo no próximo ano sem que haja grandes alterações pode-se dizer que o código HTML utilizado para criar estas páginas é estático, já que o seu conteúdo praticamente permanece inalterado. Mas o que acontece se quisermos saber as cotações da bolsa neste momento, o resultado das eleições durante a contagem de votos ou poucos minutos após o fecho das urnas, o horário de chegada de um determinado transporte, a temperatura ambiente actual numa cidade? É óbvio que para estas situações a criação de documentos estáticos não funciona mesmo que haja uma equipa de web designers a efectuar actualizações constantes dos documentos. Por isso, torna-se necessário utilizar um tipo de aplicação capaz de gerar documentos consoante as solicitações do browser (ou melhor, do utilizador), ou seja, a pedido. Este tipo de aplicações, em que é gerado HTML dinâmico no momento do pedido efectuado pelo browser, é a solução mais indicada para resolver este tipo de problemas já que têm em conta a interactividade com a solicitação do utilizador. Ao construir sites pequenos (com poucas páginas) nos quais o conteúdo não é actualizado regularmente, a utilização de páginas estáticas é, neste caso, a mais indicada. Mas se o site requer actualizações constantes, de acordo com os pedidos efectuados pelo browser e solicitados pelo utilizador, a única opção viável para resolver este tipo de problema é o recurso à geração de HTML dinâmico. As principais diferenças entre as duas aproximações podem ser resumidas na Tabela 1.1. 1 3

Programação com PHP 5.3 NA CRIAÇÃO DE UMA PÁGINA SIMPLES EM PROJECTOS DE GRANDES DIMENSÕES EM PROJECTOS ESPECIAIS NA MANUTENÇÃO NO PROCESSAMENTO NO SERVIDOR WEB NA APRENDIZAGEM ESTÁTICO Criação de página utilizando código HTLM Criação de páginas individuais Projectos, com interacção com bases de dados em tempo real, inviabilizam a criação de documentos estáticos Novo conteúdo significa a criação de novas páginas; qualquer alteração na estrutura propaga-se a todas as páginas, obrigando a constantes alterações O servidor tem um processamento reduzido limitando-se a ler os ficheiros HTML Fácil, pois requer conhecimentos básicos de HTML DINÂMICO Requer em primeiro lugar a criação de um módulo/modelo (template) e então gera o conteúdo da página Com o módulo construído, somente o conteúdo instantâneo necessita de ser gerado O site da web dinâmico é a solução adequada O novo conteúdo pode ser inserido na estrutura do módulo previamente construído, facilitando qualquer actualização As páginas são criadas instantaneamente sendo necessária a utilização de software adicional. Tal implica um maior processamento, sendo este tanto maior quanto maior for a estrutura do site Lenta e faseada pois requer conhecimentos de programação, desenvolvimento em bases de dados, manutenção de sites, etc. TABELA 1.1 Comparação entre o HTML estático e o dinâmico No caso de criação de páginas dinâmicas, e dada a necessidade de utilização de software adicional, é possível imaginar o investimento requerido para concretizar este tipo de aproximação. Apesar de existir uma enorme variedade de soluções comerciais, existe, felizmente, software que vai de encontro à necessidade de cada um consoante o fim em vista. O PHP é uma destas soluções e destaca-se de outras congéneres, na medida em que é uma solução capaz de satisfazer os requisitos mais exigentes, pois, além de ter um custo praticamente nulo, possui uma curva de aprendizagem reduzida, associada a um conjunto de funcionalidades que o torna ímpar entre a concorrência. É actualmente, de facto, uma referência no mundo do desenvolvimento das aplicações da web. 1.5. PHP, o que é? Uma resposta mais directa a esta pergunta passa por afirmar que o PHP é uma linguagem de programação vocacionada para o desenvolvimento de aplicações orientadas para a World 4

O PHP e a World Wide Web Wide Web. Contudo, e de um ponto de vista funcional, existe uma explicação mais completa se considerarmos que na web existem essencialmente dois tipos de linguagem: O baseado no cliente (browser); O baseado no servidor. As diferenças entre estes dois tipos dificultam a decisão a tomar relativamente a um dado projecto da web. O primeiro tipo utiliza os recursos existentes no sistema do utilizador (não sendo por isso de estranhar que o nosso computador fique mais lento quando se puxa uma página com código deste tipo). São exemplos de algumas linguagens de programação deste género o JavaScript, ActiveX, Java Applets, entre outras. A lentidão no carregamento destas páginas pode ser atenuada, tentando-se construir páginas em que o código seja o mais pequeno possível. Por outro lado, temos a situação em que o processamento é totalmente efectuado no servidor. Se este não estiver preparado para responder a pedidos em simultâneo de vários browsers, notar-se-á uma acentuada quebra nas performances de resposta, não só no envio de documentos de web ao browser cliente, como também de outras tarefas que o servidor tem a correr em simultâneo. As pessoas que criaram a World Wide Web foram as responsáveis pelo desenvolvimento desta técnica a que deram o nome de CGI (Common Gateway Interface), e graças a tal pode-se, com o tipo de aplicações que fazem recurso desta técnica, executar praticamente todas as tarefas que a nossa imaginação nos permita. Por exemplo, aceder a bases de dados, executar sessões Telnet, gerar gráficos e efectuar estatísticas não são tarefas desconhecidas para quem trabalha com CGI. Contudo, e apesar de o conceito básico por detrás do CGI ser bastante simples, a sua aplicabilidade não é imediata, pois exige conhecimentos de programação algo avançados (embora seja igualmente possível fazer CGI em Visual Basic, por exemplo), sendo, por isso, um contratempo a ultrapassar. Por esse motivo, o PHP aparece como uma ferramenta poderosa capaz de resolver alguns dos problemas associados ao CGI, já que a sua simplicidade é enorme quando comparada, e permite contornar a maioria dos problemas que o CGI por vezes soluciona mas com o recurso a técnicas complexas. No ambiente PHP, o código é embebido directamente no documento HTML, dando assim origem a um script contendo instruções específicas. Deste modo, o servidor da web, a que foi acrescentado um módulo PHP, consegue interpretar os comandos aí inseridos, e transforma o resultado em código HTML facilmente interpretável pelo browser cliente. Repare-se que, diferentemente da programação em CGI com o recurso a linguagens clássicas, como o C ou o Pascal, em que o código-fonte é compilado num ficheiro executável para se tornar utilizável, no PHP, tal já não é necessário pois, sendo esta linguagem integrada no servidor da web, passa então a ser interpretada por esse mesmo servidor. Assim, pode-se intercalar ou embeber código PHP com código HTML, havendo somente necessidade de indicar onde este se inicia e termina usando delimitadores específicos e criados para o efeito. 1 5

Programação com PHP 5.3 1.6. O PHP e o HTML A parte mais interessante do HTML e que afecta directamente o PHP é, sem sombra de dúvida, a referente aos formulários (forms), uma vez que são estes que irão guardar momentaneamente e transmitir os dados inseridos pelo utilizador para um determinado script PHP que os irá processar. Deste modo, a interacção com os valores introduzidos (inputs) pelo utilizador no formulário torna-se de primordial importância, já que, com esta possibilidade, o PHP permite gerar código dinâmico de acordo com o pedido efectuado. Por isso, é importante entender o modo como os formulários HTML interactuam com os servidores da web. O HTML, não sendo uma linguagem pura de programação, é especialmente indicado na criação, formatação e design de páginas de web. A linguagem HTML é assim uma linguagem de representação visual de informação, que é utilizada pelos programadores da web para descrever o conteúdo de páginas, recorrendo a directivas específicas posteriormente interpretadas pelos browsers: < HTML> < HEADS> </HEAD> < BODY> </BODY> </HTML> Por seu lado, os formulários em HTML permitem que se recolham os inputs dos utilizadores, deixando-os preencher campos apropriados para o efeito. Estes formulários podem ser compostos por vários elementos, como botões, radio buttons, selection lists, input boxes, e muitos outros, capazes de permitirem um grau de interacção com o utilizador final suficientemente satisfatório. Todos estes elementos são indicados usando etiquetas HTML (tags), sendo possível haver mais de um formulário por cada documento HTML. Algumas das etiquetas HTML indicadoras do tipo de elementos utilizados num formulário podem ser visualizadas a seguir: < input type = Text > Password Checkbox Radio Hidden Submit Reset Não querendo entrar em detalhes sobre o HTML, convém por fim referir que as opções mais importantes a especificar nos formulários são method e action, pois permitem definir o modo de transmissão e o tipo de processamento a ser realizado sobre a informação introduzida: Method Especifica o modo como a informação do formulário é transmitida ao script PHP. Pode ser do tipo GET ou POST; 6

O PHP e a World Wide Web Action Indica o nome e a localização do script PHP que irá processar a informação que foi introduzida no formulário. Estas duas opções permitem que o utilizador, através de um formulário, consiga interagir com a aplicação residente no servidor da web através de variáveis de sistema específicas. Mas, o curioso é que, ao trabalhar com PHP, não é necessário saber nada sobre essas variáveis (nomeadamente, o seu tipo ou a sua dimensão), pois estas são muito simples de criar, bastando acrescentar o sinal $ antes do seu nome ou, no caso de uma variável correspondente a um campo de um formulário, será o nome aí definido com o sinal $ antes do seu nome. O que acabámos de descrever funciona se uma directiva de nome register_globals no ficheiro geral de configuração do PHP tiver o valor On. Caso contrário, o acesso às variáveis do PHP é realizado através de um conjunto de arrays superglobais que o PHP possui. Por predefinição, o valor desta directiva é Off, por motivos de segurança, o que implica que os utilizadores tenham que recorrer a estes arrays superglobais do PHP para processar as variáveis que são enviadas pelo formulário em HTML. Na Figura 1.1, temos um exemplo simples de um script que permite somar o valor de 2 variáveis: <?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> FIGURA 1.1 Resultado do script PHP anterior Mas o leitor estará a pensar que, sendo este ficheiro colocado no servidor da web, poderá visualizar as instruções que fazem parte do script PHP. Engana-se pois se visualizar o código- 7

Programação com PHP 5.3 -fonte no seu browser, terá uma surpresa agradável, já que terá acesso única e exclusivamente ao código HTML gerado resultante do processamento do script de PHP. Uma outra situação interessante em que o leitor estará a pensar será o da transmissão de variáveis entre scripts. Um exemplo simples de utilização de formulários no PHP consiste na utilização de dois ficheiros; o ficheiro form.html (onde o utilizador efectuará os inputs) e o ficheiro php_2.php que contém os comandos PHP que irão processar os dados inseridos no formulário. Os dados inseridos no formulário (Figura 1.2) pelo utilizador são transmitidos ao servidor de web, recorrendo à opção de envio indicada em method e então processados através do script indicado em action. Exemplo de form.html : <html> <head> <title> formulário PHP </title> </head> <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> <p> </html> FIGURA 1.2 Formulário em HTML 8

O PHP e a World Wide Web Exemplo do script (php_2.php) que processa os dados do formulário: <?php /*php_2.php*/?> <htlm> <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> Isto decorre do que acabámos de explicar anteriormente, e que está em vigor desde a versão 4.2.0 do PHP em que a variável register_globals do ficheiro de configuração do PHP ( php.ini ) passou a ter o valor predefinido igual a Off. Isto tem a ver com questões de segurança, mas esta alteração vem afectar um conjunto de variáveis definidas num âmbito global. Por exemplo, as variáveis nome, idade e marca serão capturadas no script php_2.php referenciando-se com o nome da variável global que foi transmitida; $_post ( nome ), $_post ( idade ), $_post ( marca ). Anteriormente (quando a variável register_globals do php.ini era Off ), estas variáveis eram transmitidas e capturadas bastando colocar o símbolo $ antes da variável: $nome, $idade, $marca. O leitor poderá testar estas alterações criando os scripts adequados e reiniciando o servidor da web. Repare no operador. ; este permite unir a cadeia de palavras iniciada por echo. O resultado é o da Figura 1.3. FIGURA 1.3 Resultado do processamento do formulário Não poderíamos, contudo, deixar de realçar um dos pontos mais fortes do PHP e que reside na possibilidade de este poder efectuar ligações a bases de dados de uma forma fácil, muito simples e intuitiva. A interacção com bases de dados vai permitir uma maior funcionalidade por parte de quem utiliza as aplicações da web, pois, consoante os inputs dos utilizadores, obter-se-ão respostas imediatas sob a forma de páginas HTML. Os principais motivos técnicos que justificam a utilização de bases de dados para interacção/acesso através da web podem ser resumidos nos seguintes aspectos: 9

Programação com PHP 5.3 Qualquer utilizador pode aceder à base de dados (BD) utilizando uma interface standard (browser); É possível efectuar interrogações à BD via SQL e gerar páginas instantaneamente consoante o pedido; Os utilizadores não necessitam de possuir software cliente especial para aceder às bases de dados; As alterações efectuadas na BD são realizadas no servidor, não havendo por isso necessidade de distribuir actualizações do software cliente; A base de dados pode conter ligações a outros recursos disponíveis na web. Pelo exposto, apercebemo-nos de que, sendo possível efectuar ligações a bases de dados, poderemos interactuar com estas de modo a criar páginas HTML instantâneas e dinâmicas de acordo com as solicitações dos utilizadores. Deste modo, o dinamismo requerido na criação deste tipo de páginas poderá ser assim conseguido com o recurso a um cliente da web (browser), servidor da web (ex.: Apache), servidor de bases de dados (ex.: MySQL), e uma ferramenta que permita ligar estes servidores (ex.: PHP). O diagrama da Figura 1.4 é exemplificativo da arquitectura PHP. FIGURA 1.4 Arquitectura do PHP Para que o script armazenado no servidor da web consiga aceder e processar os dados armazenados numa base de dados, o processo é de certo modo bastante simples: 1) O utilizador introduz os dados através de um formulário que aparece no browser. 2) O servidor da web verifica se existem ligações a bases de dados disponíveis e estabelece a ligação em caso afirmativo. 3) Os dados são processados de acordo com as instruções existentes no script. 4) O servidor da web envia o documento HTML ao browser, devidamente formatado. 5) O browser interpreta o HTML permitindo a visualização do documento. Em PHP, se quisermos trabalhar com uma base de dados, torna-se necessário, em primeiro lugar, efectuar a ligação a essa mesma base de dados (e correspondente servidor no qual a base de dados se encontra alojada). Consoante o tipo de sistema de gestão de base de dados (MySQL, Oracle, SQLite,...) que se pretenda trabalhar, ou o sistema operativo, as instruções também serão variáveis para nos ligar à BD. 10

O PHP e a World Wide Web Por exemplo, a instrução em MySQL para efectuar a ligação é efectuada através do seguinte comando: mysql_connect ( nome servidor, utilizador, password ) Estando efectuada essa ligação entre o PHP e a base de dados, é possível posteriormente efectuar um variado e complexo conjunto de operações sobre os dados que se encontram armazenados na mesma, apresentando-os sob diversas formas no browser web. Especificar qual a informação que vamos obter e como a vamos apresentar pode ser por vezes bastante confuso, mas a versatilidade de linguagens de manuseamento de dados, como o SQL, pode facilitar tarefas aparentemente morosas e bastante complexas. A sua integração com o PHP é de facto excelente e esse é um dos aspectos que o fortalecem, pois a possibilidade de embeber código SQL permite aumentar a utilidade do PHP até níveis anteriormente conseguidos somente com soluções proprietárias. Para além disso, o SQL pode conferir alguns aspectos de portabilidade às aplicações desenvolvidas. Foi então possível, ao longo deste primeiro capítulo introdutório, verificar alguns dos aspectos mais relevantes da linguagem de programação PHP. Houve um cuidado por parte dos autores em não progredir para tópicos muito avançados que serão abordados nas próximas secções deste mesmo livro. 1 11

Programação com PHP 5.3 12