(Parte 1 de 4)

Licenciamento de Uso

Este documento é propriedade intelectual © 2002 do Centro de Computação da Unicamp e distribuído sob os seguintes termos:

1. As apostilas publicadas pelo Centro de Computação da Unicamp podem ser reproduzidas e distribuídas no todo ou em parte, em qualquer meio físico ou eletrônico, desde que os termos desta licença sejam obedecidos, e que esta licença ou referência a ela seja exibida na reprodução.

2. Qualquer publicação na forma impressa deve obrigatoriamente citar, nas páginas externas, sua origem e atribuições de direito autoral (o Centro de Computação da Unicamp e seu(s) autor(es)).

3. Todas as traduções e trabalhos derivados ou agregados incorporando qualquer informação contida neste documento devem ser regidas por estas mesmas normas de distribuição e direitos autorais. Ou seja, não é permitido produzir um trabalho derivado desta obra e impor restrições à sua distribuição. O Centro de

Computação da Unicamp deve obrigatoriamente ser notificado treinamentos@ccuec.unicamp.br de tais trabalhos com vista ao aperfeiçoamento e incorporação de melhorias aos originais.

Adicionalmente, devem ser observadas as seguintes restrições: • A versão modificada deve ser identificada como tal

• O responsável pelas modificações deve ser identificado e as modificações datadas • Reconhecimento da fonte original do documento

• A localização do documento original deve ser citada

• Versões modificadas não contam com o endosso dos autores originais a menos que autorização para tal seja fornecida por escrito.

A licença de uso e redistribuição deste material é oferecida sem nenhuma garantia de qualquer tipo, expressa ou implícita, quanto a sua adequação a qualquer finalidade. O Centro de Computação da Unicamp não assume qualquer responsabilidade sobre o uso das informações contidas neste material.

Introdução1
Comunicação Cliente x Servidor web2
CGI - Common Gateway Interface …………5
Instalação e Configuração6
Sintaxe básica do PHP
Variáveis8
Operadores13
Estruturas de controle16

Índice

Criação da base de dados e tabelas26
Criação da Home page do site28
Módulo de Inclusão29
Módulo de Consulta34
Módulo de Exclusão37
Módulo de Alteração40
Módulos Complementares
Como obter data e hora do sistema46
Listar várias ocorrências de uma tabela47
Referência bibliográfica49

Projeto Última atualização em 19/05/2004

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 1

O que é PHP?

A abreviação PHP vem de “Hypertext PreProcessor”, que é uma linguagem de programação de código aberto muito utilizada para a criação de scripts que são executados no servidor web para a manipulação de páginas HTML. Apesar de ser mais utilizado em aplicativos para a web, o PHP também suporta programação na linha de comando e aplicações gráficas cliente para serem executadas em interfaces gráficas através do PHP-GTK.

História

O PHP foi criado por volta de 1994 por Rasmus Lerdorf, que inicialmente utilizava-o em sua home page pessoal (Personal Home Page). Em meados de 1995 ele passou a ser utilizado por outras pessoas e foi reescrito com novos recursos, sendo renomeado para Personal Home Page Tools/FI (Form Interpreter), e entre os novos recursos, passou a contar com suporte ao mSQL. Dois anos mais tarde o PHP deixou de ser um projeto pessoal de Rasmus Lerdorf e passou a ser desenvolvido por uma equipe de colaboradores, e neste período, foi lançada a versão 3 da linguagem. A partir da versão

4 o PHP passou a utilizar a engine de scripting da Zend, para melhorar a performance e suportar uma variedade maior de bibliotecas externas e extensões. Até Agosto de 2003, o PHP estava sendo utilizado em aproximadamente 13.0.0 de domínios (Pode-se acompanhar esta estatística em http://www.php.net/usage.php ).

Vantagens

O PHP tem inúmeras vantagens, como veremos a seguir:

• É uma linguagem de fácil aprendizado; • Tem performance e estabilidade excelentes;

• Seu código é aberto, não é preciso pagar por sua utilização, e é possível alterá-lo na medida da necessidade de cada usuário;

• Tem suporte nos principais servidores web do mercado, principalmente no servidor web Apache (o mais utilizado no mundo);

• Suporta conexão com os bancos de dados mais utilizados do mercado, como por exemplo, MySQL, PostgreSQL, Oracle e DB2; • É multiplataforma, tem suporte nos sistemas operacionais mais utilizados no mercado; • Suporta uma variedade grande de padrões e protocolos, como o XML, DOM,

• IMAP, POP3, LDAP, HTTP, entre outros;

• Não precisa ser compilado.

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 2

Comunicação cliente X servidor web

Quando é digitado um endereço no navegador para acessar uma página na internet, ocorre uma requisição (request) do cliente (navegador) ao servidor web. O servidor processa essa requisição e retorna uma resposta (response) ao cliente, que por sua vez interpreta o código retornado e formata a página para a sua visualização. Esse procedimento acontece em todas as requisições feitas pelo navegador.

TCP/IP e HTTP

O procedimento anterior só é possível através dos protocolos TCP/IP e HTTP. O TCP/IP é o protocolo básico para a comunicação entre máquinas conectadas à internet, que gerencia toda a parte de transmissão e distribuição dos dados na rede. O HTTP (Hypertext Tranfer Protocol) é o protocolo que gerencia e formaliza as requisições e as respostas trafegadas entre o cliente e o servidor web. Caso o servidor web encontre a página, ela será enviada em partes ao navegador, caso contrário, o servidor enviará uma mensagem de erro.

Formato das requisições e respostas HTTP

O formato das requisições e das respostas HTTP são idênticas, como mostramos a seguir:

Linha de requisição/resposta Cabeçalho

Corpo

A diferença entre as duas é o conteúdo de cada parte descrita, as quais vamos falar separadamente:

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 3

• Linha de requisição :É sempre a primeira linha da requisição, a qual precisa

Formato da requisição HTTP conter um comando HTTP válido, o caminho da página requerida e a versão do protocolo HTTP:

Exemplo:

GET /artigos/artigos1.html HTTP/1.1

Os comandos HTTP mais usados são:

GET – faz requisições específicas e sua funcionalidade é limitada, porém é o método mais usado.

POST – este método é mais abrangente que o GET, e é usado para passar informações para o servidor. Normalmente usado em formulários, que enviam dados ao servidor para serem manipulados.

• Cabeçalho: trecho composto por várias linhas, que carregam informações sobre o cliente, como por exemplo, o tipo e a versão do navegador, a data e as informações gerais dos clientes. Seu conteúdo pode ser variado, contendo outros tipos de linhas, e para saber quando o cabeçalho termina e o corpo começa, utilizamos uma linha em branco. No mínimo, uma requisição deve conter uma linha de requisição e um cabeçalho HOST.

Exemplo:

Accept: */* Accept-Language: pt-br Connection: keep-alive Host: w.phpteste.com.br Referer: http://www.phpteste.com.br/index.php?id=1 User-Agent: Mozilla (X11; I ; Linux I686)

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 4

• Corpo: Caso o método GET seja usado na requisição, o corpo estará vazio, mas se o método utilizado for o POST e a página em questão contiver um formulário HTML com alguns campos, esses valores serão passados pelo corpo da requisição.

Formato da resposta HTTP

• Linha de resposta : Apenas uma linha indicando a versão do HTTP e o código de resposta do servidor:

Exemplo:

HTTP/1.1 200 OK

100-199 informativo, indica que a requisição está sendo processada

200-299 requisição bem-sucedida, o servidor enviará o código HTML sem nenhum problema

300-399 Redirecionamento

400-499 o cliente passou uma requisição incorreta ao servidor, no qual não pôde ser executada

500-599 a requisição foi enviada corretamente, porém o servidor não pôde executá-la por estar com problemas internos

• Cabeçalho: Idem ao cabeçalho de requisição, porém este enviará as informações sobre os aplicativos utilizados no servidor:

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 5

Exemplo:

• Corpo: Caso a requisição seja aceita e executada sem problemas pelo servidor web, o código HTML requerido será enviado ao navegador.

CGI – Common Gateway Interface

Muitas pessoas têm uma visão distorcida sobre o Common Gateway Interface, pensando ser uma linguagem de programação, o que não é correto. CGI é um interface de comunicação entre o servidor web e programas externos, que normalmente são utilizados para gerar contextos dinâmicos em páginas HTML. Estes tipos de programas podem ser desenvolvidos em qualquer linguagem que o sistema operacional do servidor web usado possa executar, como por exemplo, C, Perl, Python, PHP, Delphi entre outros. Apesar de seu uso ainda ser muito utilizado, este recurso já está se tornando obsoleto, dando lugar aos módulos embutidos nos servidores web, que na verdade, podem conter o interpretador inteiro da linguagem, ou somente parte dele. Linguagens como Perl, Python e PHP já suportam esse recurso, que tem como vantagem, a maior velocidade de processamento em relação aos programas CGI, por serem executados pelo próprio servidor web e não por processos externos, que demandam mais tempo.

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 6

Instalação e Configuração

Primeiramente precisaremos fazer o download dos pacotes de instalação do servidor Web Apache em http://www.apache.org , e da linguagem PHP http://www.php.net . O banco de dados que utilizaremos no curso será o PostgreSQL, o qual já se encontra instalado e pronto para a utilização.

O servidor web Apache deve ser instalado primeiro. Abaixo encontra-se o procedimentos de instalação:

$ tar xvzf http-2.0.47.tar.gz $ cd http-2.0.47

$ ./configure –-prefix=/usr/local/apache --enable-so

$ make

$ make install

Continuaremos a instalação do ambiente com os procedimentos de instalação do PHP:

$ tar xvzf php-4.3.3.tar.gz $ cd php-4.3.3.tar.gz

$ ./configure –-prefix=/usr/local/php --with-gettext

--with-pgsql=/usr/local/pgsql

--with-apxs2=/usr/local/apache/bin/apxs $ make

$ make install

$ cp php.ini-dist /usr/local/php/lib/php.ini

No comando ./configure existem diversas opções para a compilação, tanto nos procedimentos de instalação do PHP quanto do Apache. Na documentação dos pacotes ou na opção ./configure –-help encontram-se mais opções para utilização.

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 7

A próxima etapa é editar o arquivo de configuração do Apache, o httpd.conf, que encontra-se em /usr/local/apache/conf/httpd.conf , com as seguintes linhas de código:

LoadModulephp4_module modules/libphp4.so
AddTypeapplication/x-httpd-php .php
AddTypeapplication/x-httpd-php-source .phps
DirectoryIndexindex.html index.php

Para inicializar os serviços do servidor web e conseqüentemente do PHP, digitaremos o seguinte comando:

$ /usr/local/apache/bin/apachetcl start

Em seguida, faremos um teste de funcionamento da instalação realizada. No diretório de publicação do Apache /usr/local/apache/htdocs , criaremos um script chamado info.php, com o seguinte trecho de código:

<?php phpinfo(); ?>

Uma página contendo todas as configurações para o PHP deve aparecer, caso contrário, a instalação foi mal sucedida.

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 8

Sintaxe Básica

O PHP tem uma sintaxe muito simples e enxuta, o que facilita muito a organização dos scripts a serem desenvolvidos. Outro ponto interessante que veremos é que os códigos em PHP são embutidos no HTML, ao invés de gerá-lo por completo, facilitando muito a análise de possíveis erros nos scripts desenvolvidos. A seguir, exemplos da sintaxe do PHP:

<?php .. ?>

<script language=”PHP”> </script>

Variáveis

Manipular variáveis em PHP é uma atividade simples, como veremos a seguir:

• não é necessário declarar as variáveis, isto é feito quando atribuímos algum valor para elas;

• para declará-las, é necessário apenas colocar como primeiro caracter o '$' , juntamente com a string referente ao nome da variável, e esta string deve começar com uma letra ou o caracter '_';

• PHP é case sensitive, isto é, '$a' é diferente de '$A'. É aconselhável utilizar os nomes de variáveis com letras minúsculas, por causa das variáveis pré-definidas da linguagem, que são declaradas com maiúsculas;

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 9

• PHP suporta os seguintes tipos de variáveis:

•inteiros (integer ou long); •ponto flutuante (double ou float);

•strings

•arrays

•objetos *

* Como se trata de um curso básico, não entraremos em detalhes sobre este tipo

Tipos suportados

• Inteiros Sintaxe:

$curso = 1000; $curso = -1000;

$curso = 0234; (inteiro base octal)

$curso = 0x34; (inteiro na base hexadecimal)

• Ponto flutuante Sintaxe:

$curso = 1.050; $curso = 52e3; (equivale a 52000)

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 10

• Strings

Sintaxe:

$curso = 'PHP';

# desta maneira, o valor da variável será exatamente o texto contido entre as aspas

$curso= “PHP”;

# desta maneira, qualquer variável ou caracter de escape será expandido antes de ser atribuído

• Caracteres de Escape

\n nova linha; \r retorno de carro (semelhante a \n)

\t tabulação horizontal

\\ a própria barra (\)

\$ o símbolo $

\’ aspas simples

\” aspas duplas

• Arrays : Array é um tipo de variável que possui seu conteúdo agrupado por índices, como um vetor ou um dicionário. Estes índices podem ser de qualquer tipo suportado pelo PHP, como é mostrado a seguir:

Sintaxe:

$estilo_musical[0] = 'pagode'; $estilo_musical[1] = “drum \'n\' bass”;

$estilo_musical[“MPB”] = 'Gilberto Gil';

$estilo_musical[“Rock”] = 'Blind Guardian';

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 1

• Listas : Utilizadas em PHP para realizar atribuições múltiplas, como por exemplo, atribuir valores de um array para variáveis, como mostra a seguir:

Sintaxe:

O trecho de código acima atribuirá simultânea e respectivamente os valores do array às variáveis passadas como parâmetros para o comando list. É muito importante lembrar que só serão passadas ao comando list os elementos do array que possuírem os índices com valores inteiros e não negativos.

• Booleans : Em PHP, não existe um tipo específico para as variáveis do tipo boolean, ele trata este tipo com valores inteiros: 0 (zero) para false e valores diferentes deste como true.

Transformações de tipos É possível fazer transformações de tipos de variáveis através das seguintes formas:

• Coerções : quando ocorrem determinadas operações matemáticas entre dois valores de tipos diferentes, como por exemplo a adição, o PHP converte um deles automaticamente. Um exemplo disso seria a conversão de uma string para um valor numérico (inteiro ou ponto flutuante), que segue as seguintes regras:

É analisado o ínicio da string, se contiver um número, ele será analisado, caso contrário, o valor será 0 (zero);

O número pode conter o sinal no início (+ ou -);

Programação para a Web utilizando PHP

Divisão de Serviços à Comunidade – Centro de Computação – Unicamp 12

Se a string contiver um ponto em sua parte numérica a ser analisada, ele será considerado, e o valor obtido será um ponto flutuante;

Se a string contiver as letras ''e'' ou ''E'' em sua parte numérica a ser analisada, o valor seguinte será considerado como expoente da base

(Parte 1 de 4)

Comentários