(Parte 1 de 4)

2ª Edição

Programando para Web com PHP/MySQL

PROGRAMANDO PARA WEB COM PHP/MySQL

2ª Edição Revista e Atualizada

Autor: Fred Cox Junior

Março/2001 http://www.php.net http://www.mysql.com http://www.apache.org

2ª Edição

CAPÍTULO I - INTRODUÇÃO
1. CLIENT-SIDE SCRIPTS
2. SERVER-SIDE SCRIPTS
3. O QUE É PHP
4. UMA BREVE HISTÓRIA DO PHP
5. ASP X PHP

Programando para Web com PHP/MySQL

INSTALAÇÃO EM AMBIENTE WINDOWS
6.1 SERVIDOR APACHE
6.2 PHP4
6.3 MYSQL
6.4 PHPED
CAPÍTULO I - MYSQL
1.O BANCO DE DADOS MYSQL
2. CARACTERÍSTICAS DO MYSQL
3. HABILITANDO O MYSQL PARA CONEXÕES
4. SISTEMA DE SEGURANÇA DO MYSQL
5. GUIA DE REFERÊNCIA DO MYSQL
5.1 MYSQL MONITOR
5.2 COMO ESCREVER STRINGS E NÚMEROS
5.3 TIPOS DE COLUNAS SUPORTADOS PELO MYSQL
5.4 OPERADORES
5.5 COMANDOS
5.6 CRIANDO USUÁRIOS NO MYSQL
CAPÍTULO I - A LINGUAGEM HTML
1. INTRODUÇÃO
2. CRIANDO DOCUMENTOS HTML
2.1 HTML MÍNIMO
2.2 MARCAÇÕES BÁSICAS
3. INTERLIGANDO DOCUMENTOS
4. INTERLIGANDO DOCUMENTOS EM OUTRO DIRETÓRIO
5. FORMULÁRIOS HTML
5.1 CODIFICAÇÃO BÁSICA
5.2 ENTRADA DE TEXTO COMUM -TEXT
TEXTO PROTEGIDO - PASSWORD
5.5 LISTBOX E COMBO BOX
5.6 CHECKBOX
5.7 RADIO BUTTON

5.3 ENTRADA DE 5.4 ENTRADA DE VÁRIAS LINHAS DE TEXTO - TEXTAREA.. 5.8 SUBMIT BUTTON E RESET BUTTONX.................

2ª Edição

5.9 CONCLUSÃO
CAPÍTULO IV - A LINGUAGEM PHP
1. SINTAXE BÁSICA
2. VARIÁVEIS
3. COMENTÁRIOS
4. TIPOS DE DADOS
4.1 INTEGER
4.2 FLOATING-POINT
4.3 ARRAY
4.4 STRING
4.5 CONSTANTES
4.6 OPERADORES
4.6.1 ARITMÉTICOS
4.6.2 STRINGS
4.6.3 LÓGICOS
4.6.4 COMPARAÇÃO
5. ESTRUTURAS DE CONTROLE
5.1 IF AND ELSE
5.2 LAÇO WHILE
5.3 LAÇO FOR
5.4 COMANDO BREAK
5.5 SWITCH
6. FUNÇÕES
7. GRAVANDO COOKIES
8. RECUPERANDO COOKIES
9. HEADER(LOCATION...)
10. MYSQL FUNÇÕES
10.1 MYSQL_CONNECT()
10.2 MYSQL_SELECT_DB()
10.3 MYSQL_QUERY()
10.4 MYSQL_NUM_ROWS()
10.5 MYSQL_FETCH_ARRAY()
1. TRABALHANDO COM ARQUIVOS
1.1 ABRINDO ARQUIVOS
1.2 LENDO ARQUIVOS
1.3 GRAVANDO DADOS
BIBLIOGRAFIA
APÊNDICE A - FUNÇÕES MATEMÁTICAS DO MYSQL
APÊNDICE B - FUNÇÕES DE STRING DO MYSQL
APÊNDICE C - FUNÇÕES DE DATA E HORA DO MYSQL
APÊNDICE D - OUTRAS FUNÇÕES IMPORTANTES DO MYSQL

2ª Edição

Programando para Web com PHP/MySQL

Na maior parte do tempo, escrever um livro é desafiante, frustrante, tedioso, excitante e muito trabalhoso, tudo simultaneamente. Mas a criação de Programando para Web com PHP/MySQL teve um componente quase que intangível. Eu assumi a responsabilidade de criar uma fonte rápida de referência para o programador que deseja migrar para tecnologias Intranet.

Este livro foi escrito para um público principiante, com o mínimo de conhecimento necessário para programar em PHP. Saber como funciona a linguagem html e possuir noções de lógica de programação é de fundamental importância para a compreensão dos capítulos.

Procurei resumir o conteúdo, da melhor forma possível, descartando tudo que for desnecessário, tornando assim uma leitura acessível e de rápida assimilação e entendimento.

O autor

Críticas, dúvidas e sugestões serão bem-vindas.

minhas URLs: http://w.fredcox.f2s.com(site de eletrônica)

meu email: ffredcox@aol.com http://www.fredcox.f2s.com/php (site sobre o manual)

2ª Edição

Programando para Web com PHP/MySQL

Inicialmente gostaria de agradecer a minha mãe, pelo incentivo à publicação desta obra.

Ao público iniciante e aos veteranos no PHP, cujas dúvidas e sugestões foram imprescindíveis no lançamento desta 2ª edição.

2ª Edição

Programando para Web com PHP/MySQL

Não se mede o valor de um homem

Pelas suas roupas

Ou pelos bens que possui.

O verdadeiro valor de um homem

É o seu caráter,

Suas idéias

E a nobreza do seus ideais. Charles Chaplin

2ª Edição

Programando para Web com PHP/MySQL

PREFÁCIO À 2ª EDIÇÃO

A linguagem PHP é considerada, atualmente, uma das mais importantes em termos de aplicações direcionadas para Internet.

Este livro tem como objetivo preencher um espaço quase vazio na literatura nacional em Programação em PHP com Servidor de Banco de Dados MySQL. O texto aborda de forma gradativa o aprendizado do programador.

Nesta 2ª edição, além da nova capa, uma grande mudança foi a seção Instalação em Ambiente Windows, cuja atualização era mais do que necessária devido às novas versões lançadas, causando problemas de incompatibilidade entre o livro e os respectivos lançamentos. A questão não somente foi resolvida como também solucionada. Estou disponibilizando através do site do livro Programando para Web em PHP/MySQL http://www.fredcox.f2s.com/php , todos os programas que porventura possam sofrer modificações e, com isso, prejudicar os leitores com incompatíbilidade de versões.

Programando para Web com PHP/MySQL 2ª edição poderá ser obtido gratuitamente através do site http://www.fredcox.f2s.com/php A cópia do texto é autorizada pelo autor, desde que sejam respeitados os direitos autorais. O sucesso da 1ª edição foi tanto que recebi emails de estudantes universitários de Portugal sobre este documento. Fiquei sabendo também, que o texto está sendo distribuído por vários sites especializados em tutoriais, incluse a Universidade de Campinas – UNICAMP. Isto é extremamente gratificante e motivador para lançamento de outras edições.

Finalmente, espero continuar recebendo os comentários e críticas dos usuários deste texto. Fred Cox Junior 16/03/2001

2ª Edição

Programando para Web com PHP/MySQL

1. Client-Side Scripts

São responsáveis pelas ações executadas no browser, sem contato com o servidor. Os exemplos mais comuns de aplicações client-side são imagens e textos que mudam com o passar do mouse e os java scripts. Os scripts client-side são muito úteis para fazer validações de entrada de formulários sem utilizar processamento do servidor, não provocando com isso tráfego na rede. São exemplos de client-side scripts as rotinas para validar entrada de CPF/CGC, números de telefones, emails, entre outras. Há inúmeros java scripts e applets disponíveis gratuitamente http://www.jajaboutique.com na internet com as mais diferentes finalidades e a economia do fluxo de informações entre o cliente e o servidor é essencial para uma boa performace do conjunto de aplicações para web. Para validar um CPF, por exemplo, o programador poderá escolher entre um java script ou um script em php. Recomendo a primeira opção, visto que o código será executado no próprio cliente, cujo tempo de resposta é muito menor do que um código executado pelo servidor. A segunda opção é recomendada em rotinas de segurança, cujo código não pode ser visto pelo usuário, tais como, validação de cartões de crédito, senhas de usuários, enfim, informações que deverão ser criptografadas e que merecem atenção redobrada na hora de desenvolver a aplicação.

2. Server-Side Scripts

São responsáveis pelas ações executadas no servidor. Os exemplos mais comuns de aplicações server-side scripts são os cgi´s, php e asp. No momento em que o usuário solicita uma informação através do cliente, o servidor interpretará a requisição e retornará ao cliente um código html dinâmico (gerado em tempo real); isto é muito útil para construções de

2ª Edição

Programando para Web com PHP/MySQL aplicações baseadas em informações on-line, tais como sistemas de busca, cadastro de clientes, estatísticas de um site, contadores, livro de visitas, enfim, qualquer aplicação para web.

(Figura 1) 3. O QUE É PHP

PHP (Hipertext PreProcessor) é uma linguagem de programação serverside scripts para criar sites dinâmicos. Sites dinâmicos são aqueles que retornam para o cliente uma página criada em tempo real. Um exemplo de server-side scripts são os sistemas de busca w.yahoo.com, w.cade.com.br, os webmails, que se popularizaram com grande proporção nos últimos 2 anos, pela facilidade de induzir o usuário a ler propagandas (banners). Quando você digita a palavra chave da busca, por exemplo, e clica no botão pesquisar, a palavra-chave é processada pelo servidor; outro exemplo são as salas de chat: nelas, quando você digita e clica no botão enviar, as informações são processadas em tempo real conjuntamente com a dos outros usuários, resultando num código HTML dinâmico gerado do servidor para o cliente.

Cliente Servidor (w)

Requisição = URL
Retorno = html

Cliente-Side Scripts

Cliente Servidor (w) processamento

Requisição = URL

Server-Side Scripts Retorno = html dinâmico

2ª Edição

Programando para Web com PHP/MySQL

Um exemplo de um script PHP

(Figura 2)

criar qualquer aplicação em php

Utilizando a linguagem PHP você permite a interação direta do usuário com o site, através de formulários, contadores de acesso, estatísticas, ou criando aplicações para uma rede local baseadas numa Intranet. Você pode

Aplicações em PHP são geradas com estabilidade, alta performance e automaticamente pelo servidor. O usuário não vê o código PHP, somente o HTML; isto é muito importante quando se está lidando com informações discretas, tais como senhas e validações de dados que requerem sigilo.

(Figura 3)

Cliente

Requisição (formulário HTML)

Servidor

Processamento do Script (página de resuldado HTML )

2ª Edição

Programando para Web com PHP/MySQL

O PHP suporta as seguintes bases de dados:

Adabas Sybase Solid Dbase MSQL Interbase MySQL Oracle Unix DBM Informix PostgreeSQL FilePro

4. UMA BREVE HISTÓRIA DO PHP

O PHP foi concebido no outono (lá nos EUA, aqui no Brasil seria primavera) de 1994 por Rasmus Lerdorf. As primeiras versões foram usadas na sua homepage para saber quem estava consultando o currículo online. A primeira versão, utilizada por outras pessoas, foi disponibilizada em meados de 1995, e era conhecida como Personal Home Page Tools (Ferramentas para Homepages Pessoais). Ela consistia num motor de interpretação bem simples, que entendia algumas macros especiais e alguns utilitários de uso comum nas homepages de então. Um livro de visitas, um contador e outras coisas. Em meados de 1995, o interpretador foi reescrito e batizado de PHP/FI Version 2. O sufixo FI veio de um outro pacote escrito por Ramus, que interpretava dados de formulário html. Ele combinou os scripts das Ferramentas para Homepages Pessoais com o Interpretador de Formulário e adicionou o suporte ao mSQL; o PHP/FI estava criado. O PHP/FI cresceu num ritmo incrível e as pessoas começaram a adicionar-lhe código. É muito difícil estimar corretamente, mas, em fins de 1996, o PHP/FI estava sendo usado em pelo menos 15,0 web sites pelo mundo afora. Na metade de 1997, este número havia aumentado para mais de 50,0. Nesta época, o desenvolvimento do PHP também sofreu mudanças. De um projeto de estimação de Rasmus, com contribuições de um pequeno grupo de pessoas, se tornou um esforço de uma equipe mais organizada. O interpretador foi reescrito do zero por Zeev Suraski e Andi Gutmans, e este novo interpretador foi a base para o PHP Versão 3. Muito do código dos

2ª Edição

Programando para Web com PHP/MySQL utilitários do PHP/FI foi portado para o PHP3, e muito desse código foi totalmente reescrito. Já na metade de 1999 PHP/FI e PHP3 eram oferecidos juntos com vários produtos comerciais, como o webserver StrongHold da C2 e o RedHat Linux. Uma estimativa conservadora baseada na estrapolação dos números fornecidos pela NetCraft diz que o PHP está em uso em mais de 150,0 sites em todo o mundo. Para se ter uma idéia do que isso significa, esse número é maior do que a quantidade de sites que rodam o Enterprise server da Netscape na Internet.

5. ASP x PHP

Enquanto o ASP é somente executado em plataformas microsoft, o PHP suporta a maioria dos sistemas operacionais, é distribuído sobre GPL (Licença Pública Geral), ou seja, não se precisa pagar para usar o PHP. O PHP é muito mais estável que o ASP, em razão da migração dos provedores de acesso a começarem a trabalhar com a ferramenta. O maior sucesso do PHP é na Europa, particularmente na França; a maioria dos serviços de internet tem suporte para tal ferramenta. No Brasil, a utilização do PHP está se popularizando; muitos provedores já migraram para a plataforma, unindo o útil ao agradável; um interpretador de scripts distribuído sobre GPL, estável, seguro e de fácil utilização e instalação.

6. INSTALAÇÃO EM AMBIENTE WINDOWS

Para trabalhar com PHP/MySQL em ambiente windows você precisa instalar quatro softwares, são eles:

• PHP 4.04- interpretador de scripts;
• MySQL– servidor de banco de dados SQL;

• Apache Web Server 1.3.19 – Servidor de web; • PHPEd - ambiente de desenvolvimento

2ª Edição

Programando para Web com PHP/MySQL

Sugiro que o leitor faça o download das respectivas versões do Apache, php, MySQL e PHPEd citados aqui no livro, tendo em vista que novas versões quase sempre significam novos parâmetros e algumas, grandes mudanças.

O processo de instalação será dividido em quatro partes distintas, com maior ênfase na configuração do apache+php+mysql. O servidor de web, a ser utilizado será o Apache Web Server versão 1.3.19, que está disponível gratuitamente para download em http://www.apache.org Os usuários do Win95 deverão fazer a upgrade da Winsock 2, que pode ser obtida no site abaixo: http://www.microsoft.com/windows/downloads/bin/W95ws2setup.exe

Obs: O apache só funcionará com a versão do Winsock atualizada.

A fim de facilitar o processo na instalação, bem como diminuir o tempo de download, o Apache httpd Project, a partir da versão 1.3.17, vem distribuindo o software no formato de pacote de instalação da microsoft MSI package. Se você é usuário do Win95,Win98 e WinNT, copie o arquivo

“insmsi.exe” no site da microsoft para fazer a atualização do sistema operacional, requisito necessário para instalação do apache, MSI versão 1.1 ou superior. O utilitário de instalação da microsoft, MSI versão 1.2 pode ser adquirido no endereço abaixo: ftp://ftp.microsoft.com/developr/platformsdk/oct2000/msi/win95/instmsi.exe

Usuários do WindowsME não precisam fazer a upgrade acima, tendo em vista que o sistema já possui tal atualização.

Para instalar o servidor de web em ambiente windows siga os passos abaixo:

6.1 - Servidor Apache 1.3.19

Execute o utilitário de instalação (apache_1.3.19-win32-no_src-r2.msi) e siga os passos de instalação normalmente.

2ª Edição

Programando para Web com PHP/MySQL

A instalação é bastante interativa, rápida e transcorre sem dificuldades; somente um iten merece atenção especial. Quando a janela de instalação solicitar informações sobre o computador, digite:

localhost- para o campo Network domain;
localhost- para o campo Server name;

seu_email@provedor.com.br - para o campo Administrator´s email adress

Escolha a opção “Run as a Service for All users - Recommended”, clique no botão next e finalize a instalação.

Quando o programa de instalação solicitar o diretório de destino, clique no campo path e digite “C:\” na janela PATH. Isto garantirá um ganho de tempo no acesso ao diretório htdocs (onde ficarão armazenadas as páginas html e php reconhecidas pelo apache), visto que, por default, o Apache será instalado em: “C:\Arquivos de Programas\Apache Group\Apache\”.

Para testar se a instalação foi concluída com sucesso, você deverá carregar o console do Apache Web Server, ativar o seu browser, seja netscape ou IE, e digitar http://localhost. Uma página de teste será exibida.

6.2 – Instalação do PHP4

3.1 - Crie uma pasta: “C:\php4” 3.2 - Descompacte o arquivo “php-4.0.4pl1-Win32.zip” neste diretório. 3.3 – Copie o arquivo “php.ini-dist” para o diretório “C:\Windows” , renomeando-o para php.ini. Dica: Para fazer isto: primeiro copie o arquivo php.ini-dist para a pasta windows de seu computador e depois reinicie o prompt do msdos e digite: Ren php~1.ini php.ini Veja a figura abaixo.

2ª Edição

Programando para Web com PHP/MySQL

3.4 – Edite o arquivo php.ini com o bloco de notas e procure pela “linha extension_dir” e inclua o seguinte parâmetro: “c:\php4”

Veja o trecho do arquivo abaixo como deve ficar:

;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ;

include_path =; UNIX: "/path1:/path2" Windows: "\path1;\path2"
user_dir =the directory under which php opens the script using

;;;;;;;;;;;;;;;;;;;;;;;;; doc_root = ; the root of the php pages, used only if nonempty /~username, used only if nonempty extension_dir =C:\php4 ./ ; directory in which the loadable extensions (modules) reside enable_dl = On

O próximo passo é a configuração do servidor de páginas w, Apache, a fim de que ele execute os scripts em php.

1. Clique no botão [iniciar] e siga a seguência:

[Programas] -! [Apache httpd Server] -! [Configure Apache Server] -! [Edit Configuration]

2. Adicione as seguintes linhas no final do arquivo httpd.conf:

2ª Edição

Programando para Web com PHP/MySQL

# Configuração adicionada por mim no httpd.conf LoadModule php4_module c:/php4/sapi/php4apache.dll AddType application/x-httpd-php .php4 .php3

3. Salve o arquivo e reinicie o [Apache in console].

A primeira linha informa ao apache que carregue o módulo do php4 em conjunto com o servidor, a segunda informa ao apache que qualquer arquivo com extensões .php3 e .php4 são scripts que devem ser interpretados e por ele processados.

Pronto! Você acaba de instalar o apache+php4. Agora só está faltando o MySQL que de todos é o mais simples de se instalar. Há uma interação entre o projeto Apache e o PHP, visando tornar a instalação cada vez mais simples para o usuário final.

(Parte 1 de 4)

Comentários