Vous êtes sur la page 1sur 54

FACULDADE TEXEIRA DE FREITAS FACTEF Curso Bacharelado em Cincia da Computao

Linguagens e Tcnicas de Programao III

Docente Prof. Esp. Ramilton Costa Gomes Jnior


Especialista em Criptografia e Segurana em Redes, Universidade Federal Fluminense UFF, 2006 Especialista em Sistemas Distribudos, Universidade Federal da Bahia UFBA, 2003 Especialista em Comercio Eletrnico, Puc-Minas Campos Poos, 2001 Bacharel em Cincia da Computao, Universidade de Alfenas UNIFENAS, 2000

ramilton_costa@hotmail.com

Teixeira, Janeiro de 2007

NDICE
ndice.............................................................................................................................. Figuras............................................................................................................................ Tabelas........................................................................................................................... Listagens........................................................................................................................ Prefcio........................................................................................................................... Captulo 1 Linguagem de Programao PHP.............................................................. 1.1 O que PHP?................................................................................................... 1.2 O que o PHP pode Fazer?................................................................................ 1.3 O que Preciso?............................................................................................... 1.4 Anatomia de um Script..................................................................................... 1.5 Primeira Pgina PHP........................................................................................ Captulo 2 Sintaxe Bsica........................................................................................... 2.1 Alterando/Escaping do HTML......................................................................... 2.2 Separador de Instrues................................................................................... 2.3 Comentrios..................................................................................................... Captulo 3 Tipos.......................................................................................................... 3.1 Booleanos......................................................................................................... 3.1.1 Sintaxe.................................................................................................. 3.1.2 Convertendo para Booleano................................................................. 3.2 Inteiros............................................................................................................... 3.2.1 Sintaxe.................................................................................................. 3.2.2 Overflow de Inteiros............................................................................. 3.2.3 Convertendo para Inteiros.................................................................... 3.3 Nmeros de Pontos Flutuantes.......................................................................... 3.3.1 Convertendo para Float........................................................................ 3.4 String................................................................................................................. 3.4.1 Sintaxe ................................................................................................. 3.4.2 Convertendo para String....................................................................... 3.5 Arrays................................................................................................................ 3.5.1 Sintaxe.................................................................................................. 3.5.2 Convertendo para Array....................................................................... 3.6 Objetos.............................................................................................................. 3.6.1 Inicializao de Objetos....................................................................... 3.7 Null.................................................................................................................... 3.7.1 Sintaxe.................................................................................................. 3.8 Manipulao de Tipos....................................................................................... 3.8.1 Moldandos Tipos Type Casting........................................................ Captulo 4 Variveis.................................................................................................... 4.1 Variveis Pr-definidas..................................................................................... 4.2 Constantes......................................................................................................... Captulo 5 Operadores................................................................................................. 5.1 Precedncia de Operadores............................................................................... 5.2 Operadores Aritmticos.....................................................................................
Curso Bacharelado em Cincia da Computao FACTEF PAG

02 04 05 06 07 08 08 08 09 09 10 11 11 12 12 13 15 15 15 15 15 16 16 16 17 17 17 18 18 18 19 19 19 20 20 20 20 22 22 23 24 24 25 2

5.3 Operadores de Atribuio.................................................................................. 5.4 Operadores de Comparao.............................................................................. 5.5 Operadores de Incremento/Decremento............................................................ 5.6 Operadores Lgicos........................................................................................... Captulo 6 Estrutura de Controle................................................................................. 6.1 IF....................................................................................................................... 6.2 Else.................................................................................................................... 6.3 ElseIF................................................................................................................ 6.4 While................................................................................................................. 6.5 do ... While........................................................................................................ 6.6 For..................................................................................................................... 6.7 Break................................................................................................................. 6.8 Continue............................................................................................................ 6.9 Switch................................................................................................................ Captulo 7 Funes...................................................................................................... 7.1 Funes Definidas pelo Usurio....................................................................... 7.2 Funes que Retornam Valores......................................................................... 7.3 Funes Internas................................................................................................ Captulo 8 Acessando o MySql via PHP..................................................................... 8.1 Estabelecendo Conexes................................................................................... 8.2 Selecionando a Base de Dados.......................................................................... 8.3 Realizando Consultas........................................................................................ 8.4 Apagando o Resultado...................................................................................... 8.5 Nmeros de Linhas............................................................................................ 8.6 Utilizando os Resultados................................................................................... 8.7 Alterando o Ponteiro de um Resultado............................................................. Captulo 9 Exemplo de Cdigo PHP........................................................................... 9.1 Chat................................................................................................................... 9.2 Aplicao de Banco de Dados para Web.......................................................... Bibliografia.....................................................................................................................

25 26 26 27 28 28 29 30 30 31 32 33 34 35 37 37 37 37 39 39 39 40 40 40 41 41 42 42 49 54

Curso Bacharelado em Cincia da Computao FACTEF

PAG

FIGURAS

Figura 1 Anatomia de um Script PHP......................................................................... Figura 2 Exemplo de Separador de Instruo............................................................. Figura 3 Exemplo de Comentrios Utilizado no PHP................................................ Figura 4 Exemplo de Declarao de um Literal Booleano......................................... Figura 5 Exemplo de Declarao de Variveis do Tipo Inteiros................................ Figura 6 Exemplo de Quando Ocorre um Overflow................................................... Figura 7 Exemplo de Declarao de um Ponto Flutuante........................................... Figura 8 Sintaxe de uma String Utilizando Apostrofo................................................ Figura 9 Sintaxe de um Array..................................................................................... Figura 10 Sintaxe de um Array Utilizando a Chave como um Inteiro ou String........ Figura 11 Sintaxe de como Utilizar Objetos em PHP................................................. Figura 12 Sintaxe de como Declarar o Valor Null em PHP....................................... Figura 13 Manipulao de Dados em PHP................................................................. Figura 14 Manipulao de Dados em PHP Utilizando Type Casting......................... Figura 15 Modo de Declarao de Variveis em PHP................................................ Figura 16 Utilizao de Constantes em PHP.............................................................. Figura 17 Truques Utilizando o Operador de Atribuio........................................... Figura 18 Truques Utilizando o Operador de Atribuio...........................................
Figura 19 Exemplo de Operadores de Ps e Pr-Incremento e Ps e Pr-Decremento..........

Figura 20 Exemplo de uma Estrutura Simples, Atravs de Construo IF................. Figura 21 Exemplo de Utilizao de dois Comandos dentro da Estrutura IF............ Figura 22 Exemplo de Utilizao da Estrutura Else................................................... Figura 23 Exemplo de Utilizao da Estrutura ElseIF................................................ Figura 24 Exemplo de Utilizao da Estrutura While................................................ Figura 25 Exemplo de Utilizao da Estrutura Do... While......................................... Figura 26 Exemplo de Utilizao da Estrutura For..................................................... Figura 27 Exemplo de Utilizao do Comando Break............................................... Figura 28 Exemplo de Utilizao do Comando Continue.......................................... Figura 29 Exemplo de Utilizao da Estrutura Switch............................................... Figura 30 Exemplo de Utilizao da Estrutura Switch............................................... Figura 31 Exemplo de Utilizao da Estrutura Switch Utilizando Default................ Figura 32 Exemplo de uma Funo que Retorna um Valor........................................ Figura 33 Exemplo do Comando para a Conexo com o Banco de Dados................ Figura 34 Exemplo do Comando para Fechar a Conexo com o Banco de Dados.... Figura 35 Exemplo do Comando para Selecionar um Banco de Dados..................... Figura 36 Exemplo do Comando para Realizar uma Consulta no Banco de Dados... Figura 37 Exemplo do Comando para Apagar da Memria um Resultado................
Figura 38 Exemplo do Comando para Retornar um Nmero de Linhas do Resultado........... Figura 39 Exemplo do Comando para Retornar um Nmero de Linhas do Resultado...........

09 12 12 15 16 16 17 17 18 19 19 20 20 20 22 23 25 25 27 28 29 29 30 31 32 33 34 34 35 36 36 37 39 39 40 40 40 40 41

Figura 40 Exemplo do Comando para Retornar um Nmero Maior de Linhas do Resultados...................................................................................................................... 41 Figura 41 Exemplo do Comando que l Linha a Linha ate o Final do Resultado...... 41 Figura 42 Exemplo do Comando para Alterar o Ponteiro de um Resultado............... 41
Curso Bacharelado em Cincia da Computao FACTEF PAG

TABELAS

Tabela 1 Tabela de Caracteres Especiais Quando Utilizando com Aspas.................. Tabela 2 Tabela de Precedncia de Operadores.......................................................... Tabela 3 Tabela de Operadores Aritmticos............................................................... Tabela 4 Tabela de Operadores de Comparao......................................................... Tabela 5 Tabela de Operadores de Incremento e Decremento................................... Tabela 6 Tabela de Operadores Lgicos....................................................................

18 24 25 26 26 27

Curso Bacharelado em Cincia da Computao FACTEF

PAG

LISTAGENS

Listagem 1 Anatomia Bsica de uma pagina PHP...................................................... Listagem 2 Exemplo de Declarao de Variveis....................................................... Listagem 3 Cdigo da Pagina Principal...................................................................... Listagem 4 Cdigo para Processar as Informaes Postada da Pagina Principal....... Listagem 5 Cdigo do Nosso Chat............................................................................. Listagem 6 Cdigo da Pagina que Enviara os Dados................................................. Listagem 7 Cdigo da Pagina que vai Processar os Dados Digitados pelo Usurio... Listagem 8 Cdigo que Ira Ler as Informaes dos Usurios.................................... Listagem 9 Cdigo que Ira Mostrar os Usurios que Esto On-Line......................... Listagem 10 Cdigo que Recebera os Dados a Serem Includo no Banco de Dados. Listagem 11 Cdigo para a Insero dos Dados no Banco de Dados......................... Listagem 12 Cdigo para Fazer a Pesquisa dos Dados no Banco de Dados............... Listagem 13 Pagina Principal.....................................................................................

10 14 42 43 44 45 46 47 48 50 51 53 53

Curso Bacharelado em Cincia da Computao FACTEF

PAG

PREFCIO

Prezado leitor, Este material destinado aos alunos do Curso de Bacharelado em Cincia da Computao da Faculdade Teixeira de Freitas FACTEF e tambm a todos os profissionais da rea interessados em aprender ou aperfeioar seus conhecimentos em linguagem de programao de computadores, neste caso particular da linguagem PHP. Neste material so apresentados os conceitos bsicos, estruturas, e tcnicas de programao PHP, que serviro como base para o estudo dos principais conceitos, fundamentos e tcnicas de programao para internet utilizando a linguagem PHP. muito importante, para o estudo de linguagens de programao, que se faa uma leitura minuciosa dos textos que fundamentam a atividade de programao, reconhecidamente uma das mais rduas tarefas de um profissional de computao. Neste ponto, uma boa fundamentao terica facilita a compreenso da sintaxe da linguagem e conduz a um bom aprendizado e, posteriormente, domnio da arte do desenvolvimento de software. Este material apresenta aspectos tericos e programas-exemplo que auxiliam a compreenso das tcnicas de programao. Tabelas e figuras so tambm utilizadas na formao deste material didtico. Em meio aos textos, so apresentados alguns cones que devem ser observados com ateno. Tais cones objetivam alerta o leitor para pontos de maior relevncia do contedo deste material, bem como apresentar dicas e auxiliar o processo de aprendizagem. Implemente o programa-exemplo para melhor compreenso do assunto Espero que este material didtico seja til e colabore para a sua formao profissional. O autor.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

Captulo 1 Linguagem de Programao PHP 1.1 O que PHP?


PHP uma linguagem de programao interpretada open source de uso geral. Onde a sigla PHP quer dizer Hypertext Preprocessor. Podemos ver que o cdigo PHP totalmente diferente das outras linguagens como: C, Perl ou script CGI. O cdigo PHP delimitado por tags iniciais e tags finais.

<? ?> <% %> <?PHP ?>


O que diferencia o PHP de outras linguagens que todo seu processamento poder ser direcionado para ser executado no lado do servidor. Sendo assim no tem como determinar como seria o cdigo fonte. Umas das caractersticas principais do PHP esta no fato de ele ser extremamente simples para um iniciante, com muitos recursos para quem profissional.

1.2 O que o PHP pode fazer?


Com o PHP ns podemos fazer qualquer coisa, mesmo ele sendo uma linguagem que interpretada no lado do servidor, portanto ele pode fazer qualquer coisa que um CGI faz. Como: obter dados do formulrio, enviar e receber cookies, e entre outras coisas a mais, como: 1. No lado do servidor: Voc precisa de trs coisas para o seu trabalho. Primeiro ter instalado um interpretador PHP, segundo um servidor web configurado e por ultimo um browser para a visualizao dos resultados. Tudo isso pode ser configurado em sua maquina residencial. 2. Script de linha de comando: Voc pode executar o PHP sem a necessidade de ser ter um servidor web instalado e um browser. Basta ter o interpretador instalado em sua maquina. 3. Aplicaes Desktop: Sendo o PHP uma linguagem de uso especifico para web. Voc tambm pode utilizar a linguagem PHP para desenvolvimento de aplicaes desktop, mesmo no sendo apropriada para essa finalidade o PHP tem um pacote com o nome de PHP-GTK que tem por principio a utilizao de aplicaes para desktop.
Curso Bacharelado em Cincia da Computao FACTEF PAG

O PHP pode ser utilizado em vrios sistemas operacionais como: Linux, Windows, Unix, Mac OsX , e entre outros aqui no citado. Tambm tem suporte com a maioria dos servidores web, como: Apache, Personal Web Serve, e etc. com o PHP voc tem uma total liberdade de escolha de sistemas operacionais e servidores web. Como voc teria uma total liberdade de escolha entre a programao estruturada ou orientada a objeto. Por essa ultima o PHP 5 possui mdulos de programao orientada a objetos, onde nos da uma facilidade de esta trabalhando com objetos remotos e instanciao de objetos Java. O PHP tambm suporta uma ampla variedade de banco de dados. Como: Interbase, PostgreSQL, MySql, Sysbase, e entre outros. O PHP tambm suporta o padro ODBC, permitindo assim qualquer conexo com o banco de dados que suporta esse padro mundial. O PHP tambm tem suporte com vrios tipos de protocolos. Como: NNTP, POP3, http, e entre outros existentes. Caro leitor como voc mesmo pode ver, daria pra escrever um livro sobre o que o PHP pode fazer. Finalizamos esta parte por aqui e vamos aos que interessa.

1.3 O que preciso


Caro leitor para comearmos, voc precisar ter instalado em sua maquina o interpretador PHP e um servidor web, como j foi mencionado anteriormente. Caso esteja utilizando um provedor, basta saber se o seu provedor suporta paginas PHP. Caso a resposta seja sim, voc no precisara fazer mais nada, basta criar a sua pagina com a extenso .php, como se faz paginas HTML, com uma grande diferena de no ser uma simples pagina esttica. Mas se voc no utilizar um provedor e nem ter instalado o interpretador, o servidor web e um banco de dados em sua maquina, voc no precisa se preocupar, porque muito simples a instalao. Hoje em dia existem pacotes que com apenas alguns clicks voc j instala e configura o interpretador, servidor web e o banco de dados.

1.4 Anatomia de um script


Todo script PHP segue uma estrutura bsica em relao s partes que compem e que deve ser considerada pelo programador, conforme ilustra a figura 1.

[instrues HTML] <?php [corpo do programa] ?> [instrues finais de HTML]


Figura 1. Anatomia de um Script PHP

Curso Bacharelado em Cincia da Computao FACTEF

PAG

1.5 Primeira pgina PHP


Crie um documento com o nome primeiro.php e salve no diretrio onde esta instalado o seu servidor web. No meu caso eu estou utilizando o Windows XP e um pacote com o nome de AppServ, onde j vem configurado o interpretador, o servidor web e o banco de dados, sendo assim o meu diretrio c:\appserv\www. Com o seguinte contedo:

1. <HTML> 2. <HEAD> 3. <TITLE>Primeiro Exemplo PHP</TITLE> 4.</HEAD> 5. <BODY> 6. <?php 7. Echo<p> Pagina utilizando recursos PHP</p>; 8. ?> 9. </BODY> 10. </HTML>
Listagem 1. Anatomia bsica de uma pgina PHP Depois do documento criado e salvo, basta voc utilizar o seu browser para visualizar a sua pgina. Quando o desenvolvimento local, basta digitar na sua URL da seguinte maneira: http://localhost/primeiro.php ou http://127.0.0.1/primeiro.php Com isso podemos ver que no um script CGI. O arquivo no precisa ser executvel, mas sim, podemos assimilar como se fosse uma pagina HTML, mas com uma grande diferena que ele possui tags especiais que permita a voc criar no s pginas estticas mais sim paginas dinmicas. Este exemplo muito simples. Tudo o que ele faz mostrar no browser atravs da funo echo() do PHP a frase Pagina utilizando recursos PHP. Se voc tentar visualizar este exemplo e o browser no mostrar nenhuma mensagem, h uma grande chance do seu servidor ou sua maquina local no estiver com o php instalado. Como podemos ver neste exemplo a linha 6 possui a tags (<?php) indicando que naquele momento inicia-se o cdigo PHP. Na linha 7 possui a funo (echo()) do PHP que tem como funo mostrar qualquer texto que esteja entre aspas duplas no browser e por ultimo na linha 8 possui a tags (?>) que indica final do cdigo PHP. Podemos observar que nos podemos utilizar vrios cdigos PHP na mesma Pagina HTML.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

10

Captulo 2 Sintaxe Bsica

2.1 Alterando/Escaping do HTML


Quando o interpretador PHP l um arquivo, ele simplesmente repassa o texto at encontrar as tags especiais que lhe diz para comear a interpretar o texto em cdigo PHP e executa todo o cdigo at achar a tags de fechamento do PHP. Este mecanismo que permite a incluso de cdigo PHP dentro do HTML. H quatro tipos de tags que pode ser usado para marcar blocos de cdigos PHP. Dentre elas existes duas mais importantes, como: <?php ...?> e <script language=php>...</scritp>, esto sempre disponveis. As outras pode ser ativadas e desativadas no arquivo de configurao php.ini. Cuidado em se utilizar formas reduzidas das tags, pois as mesmas no podem funcionar em outras verses do PHP. Por exemplo se voc quiser utilizar cdigos PHP em XML, voc precisara usar a forma <?php ...?> para a compatibilidade com o padro XML. As tags suportadas pelo PHP so: <?php echo(voc precisa dispor documentos XHTML ou XML, use assim\n) ;?> <? Echo(este a mais simples, como uma instruo de processamento SGML\n) ;?> <script language=php Echo(alguns editores (como FrontPages ) no gostam de processas instrues); </scritp> <% echo(voc que esta acostumado em usar tags ASP) ; %>

A primeira forma, <?php...?>, o preferencial, j que o mesmo permite o uso de cdigos padres XML. A segunda forma pode no estar sempre disponvel. Tags curtas esto disponveis apenas quanto ativadas. A terceira forma esta sempre disponvel e to seguro quanto primeira forma. E a ultima forma s esta disponvel se a tags estilo ASP estiver ativada utilizando diretiva asp_tags no arquivo de configurao.

Obs: o suporte as tags estilo ASP foi incorporada na verso 3.0.4.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

11

2.2 Separador de Instrues


As instrues so separadas da mesma forma que se utiliza em linguagens de programao como pascal, C, delphi e entre outras. Cada instruo termina com um ponto e vrgula (;). Mas s no PHP que a tags de fechamento(?>) tambm pode ser utilizado como fim de uma instruo, ento os exemplos mostrado seguintes na figura 2 so equivalentes:

<?php Echo finalizando uma intruo; ?> Ou <?php Echofinalizando uma instruo ?>
Figura 2. Exemplo de separador de instruo

2.3 Comentrios
O PHP suporta comentrios do tipo utilizado em linguagens de programao como C, C++. Conforme ilustrado na figura abaixo.

<?php Echo comentrio; //comentario de uma linha Echo comentrio de duas linha; /* outra forma de se usar comentario quando queremos comentar mais de de uma linha, ou um bloco de comandos.*/ Echo outro tipo de comentrio; # comentario no estilo Unix shell ?>
Figura 3. Exemplo de comentrio utilizados no PHP Os comentrios so utilizados para deixar o seu cdigo mais claro e legvel para uma futura manuteno. E os comentrios de uma linha s tm efeito at o fim da linha ou fim de blocos de cdigo PHP atual.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

12

Captulo 3 Tipos
Em uma linguagem de programao o tipo de dados de uma varivel define o conjunto de valores que a varivel pode assumir. Por exemplo, uma varivel de um tipo Integer, pode assumir os seguintes valores como os conjuntos dos nmeros Z={..,1,0,1,..}. De modo geral, uma declarao de varivel em uma linguagem de programao especifica duas coisas: 1. A quantidade de byte que deve ser reservada para a varivel; 2. Como o dado representado por esses bytes deve ser interpretado. O PHP suporta oito tipos primitivos. Conforme abaixo mostrado: 1. Bsicos Boolean Integer Float ou double String 2. Compostos Array Object 3. Especiais Resource Null O tipo da varivel geralmente no definido pelo programador, isto decidido em tempo de execuo pelo PHP, dependendo do contexto no qual a varivel usada. Existe forma de se checar o tipo de uma expresso, basta voc utilizar a funo var_dump(). Ou se voc preferir checar o tipo de uma varivel utilize a funo is_type. Exemplo

Curso Bacharelado em Cincia da Computao FACTEF

PAG

13

1.<?php 2. $logico = true; // uma varivel do tipo booleano 3. $texto = palavra; // uma varivel do tipo string 4. $numero = 12; // uma varivel do tipo inteiro 5. 6. Echo gettype($logico); // imprime boolean 7. Echo gettype($texto); //imprime string 8. // se um inteiro incrementa em quatro 9. 10. If (is_int($numero)){ 11. $numero +=4; 12. } 13. // se $logico string, imprime e no faz nada se no for 14. If(is_string($logico)){ 15. Echo string: $logico; 16. } 17.?>
Listagem 2. Exemplo de declarao de variveis Se voc quiser converter uma varivel de um tipo para outro tipo, basta utilizar o casting ou usar a funo sttype(). Observe que uma varivel pode ser avaliada de diferentes formas, dependendo da situao no momento que se encontra no cdigo do programa. Vamos analisar o exemplo acima. Na linha 1 so as tags especiais de inicio de cdigo PHP (<?php). Na linha 2 eu declarei uma varivel $logico do tipo booleano ($logico = boolean), onde mais a frente vamos falar sobre declarao de varivel, vale ressaltar agora que sempre quando eu quero declarar uma varivel eu utilizo o smbolo de chifro($) no inicio da palavra. Na linha 3 eu declarei outra varivel do tipo string ($texto = palavra). Na linha 4 eu declarei mais uma varivel do tipo inteiro($numero = 12). Na linha 6 estou utilizando a funo echo() para mostrar no browser, mais eu utilizei a funo gettype que tem como funo pegar o tipo da varivel, neste caso a utilizao do gettype($logico), vai me retornar boolean, o tipo da varivel que foi declarado na linha 2. Sendo assim ira me mostrar no browser atravs da funo echo o tipo da varivel que boolean. Na linha 7 vai acontecer a mesma coisa da linha 6, mais em vez de mostrar no browser boolean vai mostrar string atravs do gettype($texto). Na linha 9 possui um comentrio de linha simples utilizado atravs das duas barras. Na linha 10 possui uma estrutura de condio (if (is_int($numero))), nesta estrutura de condio ser avaliado se a varivel $numero um inteiro. Se a condio for verdadeira, ira executar o que esta dentro do escopo, seno ela no far nada. Mais adiante iremos abortar com mais detalhes como utilizamos estrutura de condio. Na linha 11 eu estou incrementando a varivel $numero em 4 ($numero +=4). Na linha 12 possui um caractere chave( }) que indica fechamento de bloco. Na linha 13 possui outro comentrio de linha simples atravs das
Curso Bacharelado em Cincia da Computao FACTEF PAG

14

barras(//). Na linha 14 possui outra estrutura de condio, que nesta vez vai avaliar se a varivel $logico do tipo string. Se for verdade, ira executar tudo que estiver dentro do bloco, seno for verdade no acontecera nada. (if(is_string($logico))). Na linha 15 possui a funo echo que ira mostrar na tela o texto que estiver entre aspas duplas. Na linha 16 possui um caractere chave(}) que indica final de bloco, e para finalizar na linha 17 possui a tags especial indicando fim do cdigo PHP.

3.1 Booleanos
Este o tipo mais fcil. Um booleano expressa um valor de verdade. Ele pode ter dois valores, TRUE(verdadeiro) ou FALSE(falso).

3.1.1 Sintaxe
Para especificar um literal booleano, use a palavra chave TRUE ou FALSE. Ambas so insensitivas ao caso. Exemplo:

<?php $logico = True; ?>


Figura 4. Exemplo de declarao de um literal booleano.

3.1.2 Convertendo para booleano


Para converter um valor em booleano, basta utilizar os modificadores (bool) ou (booleano). Quando convertermos para booleano, os seguintes valores so considerados FALSE: O inteiro 0(zero) O ponto flutuante 0.0(zero) Uma string vazia Um array sem elementos Um objeto sem elementos membros O tipo especial null Qualquer outro valor considerado TRUE.

3.2 Inteiros
Um inteiro um numero do conjunto Z={...,-2,-1,0,1,2,...}.

3.2.1 Sintaxe
Inteiros podem ser especificados em notao decimal (base 10), hexadecimal (base 16) ou octal (base 8), opcionalmente precedido de sinal (- ou +). Para utilizar a

Curso Bacharelado em Cincia da Computao FACTEF

PAG

15

notao octal, voc precisa preceder o nmero com um 0(zero), ou caso voc queira utilizar a notao hexadecimal, preceda o nmero com 0x. Exemplo.

<?php $a = 123456; //nmero decimal $a = -123456; //nmero negativo $a = 0123456; //nmero octal $a = 0x1A; //nmero hexadecimal ?>
Figura 5. Exemplo de declarao de variveis do tipo inteiras

3.2.2 Overflow de inteiros


Se voc especificar um nmero alem do limite do tipo inteiro, ele ser interpretado com se fosse um ponto flutuante. Exemplo.

<?php $numero = 2147483647; Var_dump($numero); // sada: int(2147483647) $numero = 2147483648; Var_dump($numero); //sada: float(2147483648) ?>
Figura 6. Exemplo de quando ocorre um Overflow

3.2.3 Convertendo para inteiro


Para converter explicitamente um valor para inteiro, utilize-se dois modificadores (int) ou (integer). Voc tambem pode converter o valor de um inteiro utilizando a funo intval(). Quando convertemos um booleano para inteiro, o valor FALSE ser retornado como 0 (zero), e o TRUE como 1 (um). E de nmeros de ponto flutuante para inteiro, o nmero ser truncado.

3.3 Nmeros de ponto flutuantes


O nmero de ponto flutuante (float, doubles ou nmeros reais) podem ser especificados utilizando qualquer uma das sintaxes seguintes:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

16

<?php $a = 1.23456; $a = 1.2e3; $a = 7E-10; ?>


Figura 7. Exemplo de declarao de um ponto flutuante

3.3.1 Convertendo para float


Para valores entre outros tipos que no seja string, a conversao a mesma se o valor puder ser convertido para inteiro e ento para float.

3.4 String
Uma string uma srie de caracteres. No PHP, um caracter o mesmo que um byte, ou seja, h exatamente 256 caracteres possveis. Isto implica que o PHP no tem suporte nativo ao Unicode.

3.4.1 Sintaxe
Uma string pode ser especificada de duas formas direferentes: 1. Apstrofo Sendo a maneira mais simples de se especificar uma string. Exemplo

<?php Echo isto uma string comum; Echo esta uma Outra maneira; Echo voce tem certeza que deseja apagar c:\*.*?; ?>
Figura 8. Sintaxe de uma string utilizando apstrofo 2. Aspas Se a string delimitada entre as aspas(), o PHP entende mais sequencia de escape para caracteres especiais, como a tabela abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

17

Significado Fim de linha Retorno de carro TAB horizontal Contra barra ou barra invertida Sinal de cifrao Aspas A sequencia de caracteres batendo a expressao regular dos caracteres em notao octal \x[0-9A A sequencia de caracteres batendo a expressao regular de um caracter Fa-f]{1,2} em notao hexadecimal. Tabela 1. Tabela de caracteres especiais quando utilizando com aspas.

Sequencia \n \r \t \\ \$ \ \[0-7]{1,3}

3.4.2 Convertendo para string


Voc pode converter para estring utilizando a funo (string), ou strval(). Alguns tipos so convertidos automaticamente quando necessrio, isto acontece quando utiliza a funo echo() ou print(). O valor boolean TRUE convertido para string 1, o valor FALSE representado como (string vazia). Um inteiro ou nmero de ponto flutuante convertido para a representao string do nmero em digitos arabicos.

3.5 Arrays
Uma array no PHP atualmente um mapa ordenado. Um mapa um tipo que realciona valores para chaves.

3.5.1 Sintaxe
Um array pode ser criado com o construtor de lingaguem array(). Ele pega um certo nmero de pares separados por virgula chave => valor. Exemplo

<?php $arr = array(palavra => ourtra, 12 => true); Echo $arr[palavra]; // outra Echo $arr[12]; ?>
Figura 9. Sintaxe de um array.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

18

A chave pode ser tanto um integer ou uma string. Outro exemplo

<?php $arr = array(matriz => array(6 =>5, 13 =>9, a => 42)); Echo $arr[matriz][6]; //5 Echo $arr[matriz][13]; //9 Echo $arr[matriz][a]; //42 ?>
Figura 10. Sintaxe de um array utilizando a chave como um inteiro ou string.

3.5.2 Convertendo para array


Para qualquer tipos: interger, float, string, boolean, se voc converter um valor para um array, voce obtem um array com um elemento de indice 0(zero) contendo um valor escalar informado.

3.6 Objetos
O objeto o resultado da unio entre uma estrutura de dados e todas as operaes associadas a ela.

3.6.1 Inicializao de objetos


Para inicializar um objeto, voc usa a instruo new, criando uma instancia do objeto em varivel. Conforme a figura abaixo:

<?php Class primeira { Function Mostrar() { Echo mostrando na tela; } } $frase = new primeira; $frase->Mostrar(); ?>
Figura 11. Sintaxe de como utilizar objetos em PHP.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

19

3.7 Null
O valor especial NULL indica que a variavel no tem valor. O NULL o nico valor possvel do tipo NULL. A variavel considerada NULL se: Ela foi assimilada com a constante NULL. Ela ainda no recebeu nenhum valor. Ela foi apagada com a funo unset().

3.7.1 Sintaxe
H apenas um nico valor do tipo NULL, a palavra NULL. Conforme a figura abaixo:

<?php $vazio = NULL; ?>


Figura 12. Sintaxe de como declarar o valor null em PHP.

3.8 Manipulao de tipos


O PHP no requer a definio de tipo explicita na declarao de variveis. Se voc tem uma varivel do tipo $vazio e atribuir um valor intero, ela se tornara uma varivel do tipo inteiro, em um outro momento voc atribui uma string a varivel $vazia, esta varivel passara de inteiro para string. Conforme a figura abaixo:

<?php $a = 12; // inteiro 12 $a = palavra; //string contendo o valor palavra ?>


Figura 13. Manipulao de dados em PHP.

3.8.1 Moldandos Tipos Type Casting


A modelagem de tipos no PHP funciona como no C: o nome de um tipo desejado escrito entre parenteses antes da varivel em que se deseja a moldagem. Conforme a figura abaixo:

<?php $numero = 10; // numero inteiro $logico = (boolean) $numero; // logico um booleano ?>
Figura 14. Manipulao de dados em PHP utilizando Type Casting.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

20

As moldagens permitidas so: (int),(integer) molde para inteiro (bool),(boolean) molde para booleano (float),(double),(real) molde para numero de ponto flutuante (string) molde para string (array) molde para array (object) molde para objeto

Curso Bacharelado em Cincia da Computao FACTEF

PAG

21

Captulo 4 Variveis

Uma varivel uma posio de memria definida atravs de um nome ou identificador e que pode ser modificado dependendo da logica do programador. As variaveis em PHP so representada por um cifro($) seguido pelo nome da varivel. As variveis em PHP tem distino entre maiuscula e minusculas, por isso temos que ter cuidado na hora de declararmos uma varivel, pois $Texto diferente de $texto. Os nomes de variveis para PHP segue algumas regras especificas. Um nome de varivel se inicia com uma letra ou um sublinhado, seguido de qualquer nmero, letras, algarismo ou sublinhados. Exemplos

<?php $a = joao; $A = maria; Echo $a,$A; //exibe na tela joao, maria $3g = texte; //invalido, comea com um nmero $_3g = texte; //vlido, comea com um sublinhado ?>
Figura 15. Modo de declaraes de variveis em PHP.

4.1 Variaveis Predefinidas


O PHP oferece um grande nmero de variveis predefinidas para qualquer script que ele execute. Superglobais do PHP $GLOBALS Contm uma referncia para todas as variveis que so atualmente disponveis dentro do escopo global do script, as chaves desse array so os nomes das variveis $_SERVER Variveis criadas pelo servidor web ou diretamente relacionadas ao ambiente de execuo do script atual. $_GET Variveis postadas para o script via metodo http GET.
Curso Bacharelado em Cincia da Computao FACTEF PAG

22

$_POST Variveis postadas para o script via metodo http POST. $_COOKIE Variveis postadas para o script via cookies http. $_FILE Variveis postadas para os scritp via transferencia de arquivos http. $_ENV Variveis disponveis no script do ambiente de execuo. $_REQUEST Variveis postadas para o script por todos os mecanismos de input GET, POST, e COOKIE no podem ter seu contedo garantido de qualquer forma. A presena e a ordem de incluso das variaveis nesse array definida de acordo com a diretiva de configurao variables_order.

4.2 Constantes
Constantes so variveis que no tem o seu contedo alterado durante a execuo do script. Como qualquer identificador do php, as constantes tem a mesmas regras de formao. Conforme a figura abaixo:

<?php // Nomes de constantes vlidos define("FRASE", "contedo de uma constante"); define("PALAVRA", "php"); // Nomes de constantes invlidas define("2FRASE", "forma errada de declarao"); ?>
Figura 16. Utilizao de constantes em PHP.

OBS: Podemos observar que as constantes por converso devem sempre ser declaradas em maisculas. No exemplo acima podemos notar que a funo define() utilizada para declarar uma constante. E tambm podemos ver que na hora de declarar uma constante no precisamos utilizar o caracter especial $(Cifro), como utilizamos em declaraes de variveis. Outro fator importante que temos que levar em conta que na criaao de uma constante, o seu conteudo no pode ser alterado ou excluido.
Curso Bacharelado em Cincia da Computao FACTEF PAG

23

Captulo 5 Operadores
Um operador algo que voc alimenta com um ou mais valores e que devolve outro valor.

5.1 Precedncia de Operadores


A precedncia de um operador especifica quem tem mais prioridade quando h duas delas juntas. Por exemplo, na expresso, 1 + 5 * 3, a resposta 16 e no 18 porque o operador de multiplicao ("*") tem prioridade de precedncia que o operador de adio ("+"). Parnteses podem ser utilizados para forar a precedncia, se necessrio. Assim, (1 + 5) * 3 avaliado como 18. A tabela seguinte mostra a precedncia dos operadores, da maior precedncia para a menor. Associao no associativo New direita direita esquerda esquerda esquerda [ ! ~ ++ -- (int) (float) (string) (array) (object) @ */% +-. << >> Operador

no associativo < <= > >= no associativo == != === !== esquerda esquerda esquerda esquerda esquerda esquerda direita direita esquerda esquerda esquerda & ^ | && || ?: = += -= *= /= .= %= &= |= ^= <<= >>= Print And Xor Or

esquerda , Tabela 2. Tabela de precedncia de operadores.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

24

5.2 Operadores Aritmticos


Lembra-se da aritmtica bsica da escola? Estes operadores funcionam exatamente como aqueles. Exemplo $a + $b $a - $b $a * $b $a / $b Nome Adio Subtrao Diviso Resultado Soma de $a e $b. Diferena entre $a e $b. Quociente de $a por $b.

Multiplicao Produto de $a e $b.

$a % $b Mdulo Resto de $a dividido por $b. Tabela 3. Tabela de operadores Aritmticos. O operador de diviso ("/") sempre retorna um valor com ponto flutuante, mesmo que os dois operando sejam inteiros (ou strings convertidos para inteiros).

5.3 Operadores de Atribuio


O operador bsico de atribuio "=". O valor de uma expresso de atribuio o valor atribudo. Ou seja, o valor de "$a = 3" 3. Isto permite que voc faa alguns truques, como na figura abaixo:

<?php $a = ($b = 4) + 5; ?>


Figura 17. Truques utilizando o operador de atribuio. Alm do operador bsico de atribuio, h "operadores combinados" para todos os operadores aritmticos e de string, que permitem a voc pegar um valor de uma expresso e ento usar seu prprio valor para o resultado daquela expresso. Por exemplo:

<?php $a = 3; $a += 5; //atribui o valor 8 para a varivel $a $b = "Bom "; $b .= "Dia!"; /*atribui a palavra Dia a varivel $b, resultando o valor da varivel $b como: "Bom Dia!"*/ ?>
Figura 18. Truques utilizando o operador de atribuio.
Curso Bacharelado em Cincia da Computao FACTEF PAG

25

5.4 Operadores de Comparao


Como podemos observar que este operador utilizado quando queremos comparar dois valores ou expresses. Veja a tabela abaixo, alguns tipos de operadores de comparao. Exemplo $a === $b $a != $b $a < $b $a > $b $a <= $b $a >= $b Nome Resultado Verdadeiro (TRUE) se $a igual a $b. Verdadeiro (TRUE) se $a igual a $b, e eles so do mesmo tipo (somente para PHP4). Verdadeiro se $a no igual a $b. Verdadeiro se $a no igual a $b. Verdadeiro se $a estritamente menor que $b. Verdadeiro se $a estritamente maior que $b. Verdadeiro se $a menor ou igual a $b.

$a == $b Igual Idntico Diferente Menor que Maior que Menor ou igual

$a <> $b Diferente

Maior ou Verdadeiro se $a maior ou igual a $b. igual Tabela 4. Tabela de operadores de comparao.

5.5 Operadores de Incremento/Decremento


O PHP suporta operadores de pr e ps-incremento e decremento no estilo C. conforme a tabela abaixo: Exemplo ++$a $a++ --$a Nome Efeito

Pr-incremento Incrementa $a em um, e ento retorna $a. Ps-incremento Retorna $a, e ento incrementa $a em um. Pr-decremento Decrementa $a em um, e ento retorna $a.

$a-Ps-decremento Retorna $a, e ento decrementa $a em um. Tabela 5. Tabela de operadores de incremento e decremento. Aqui est um script de exemplo simples:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

26

<?php echo "<h3>Ps-incremento</h3>"; $a = 5; echo "Deve ser 5: " . $a++ . "<br />\n"; echo "Deve ser 6: " . $a . "<br />\n"; echo "<h3>Pr-incremento</h3>"; $a = 5; echo "Deve ser 6: " . ++$a . "<br />\n"; echo "Deve ser 6: " . $a . "<br />\n"; echo "<h3>Ps-decremento</h3>"; $a = 5; echo "Deve ser 5: " . $a-- . "<br />\n"; echo "Deve ser 4: " . $a . "<br />\n"; echo "<h3>Pr-decremento</h3>"; $a = 5; echo "Deve ser 4: " . --$a . "<br />\n"; echo "Deve ser 4: " . $a . "<br />\n"; ?>
Figura 19. Exemplos de operadores de ps e pr-incremento e ps e prdecremento.

5.6 Operadores Lgicos


Os operadores lgicos so utilizados quando eu quero comparar duas expresses. Veja abaixo a tabela de operadores lgicos existentes. Exemplo Nome $a and $b E $a or $b ! $a OU Resultado Verdadeiro (TRUE) se tanto $a quanto $b so verdadeiros. Verdadeiro se $a ou $b so verdadeiros.

$a xor $b XOR Verdadeiro se $a ou $b so verdadeiros, mas no ambos. NO Verdadeiro se $a no verdadeiro. Verdadeiro se tanto $a quanto $b so verdadeiros. $a && $b E

$a || $b OU Verdadeiro se $a ou $b so verdadeiros. Tabela 6. Tabela de operadores lgicos.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

27

Captulo 6 Estrutura de Controle

Normalmente, instrues em um programa so executadas uma aps a outra na ordem em que so escritas. Vrias instrues que discutiremos a seguir permitem que o programador especifique que a prxima instruo a ser executada pode ser outra que no a prxima na seguencia. Em PHP ns temos vrias estrutra de controle, como estrutura de repetiao e de seleo. Onde abordaremos neste captulo.

6.1 IF
A construo if uma das mais importantes implementaes de muitas linguagens, incluindo o PHP. Ela permite a execuo condicional de fragmentos de cdigo. O PHP implementa uma estrutura if que similar a do C: If (expresso) Instruo;

Obs:. Na estrutura acima, a instruo somente ser executada se a expresso retornar um valor verdadeiro. Exemplo

<?php If ($a > $b) Echo a maior que b; ?>


Figura 20. Exemplos de uma estrutura simples, atravs da construo IF No exemplo acima podemos ver que a mensagem a maior que b, ser impressa no browser, se somente se a expresso ($a > $b) for verdadeira. Se esta expresso retornar um valor false, no ira apresentar nada no browser. Algumas vezes temos que ter varias instrues a ser executada dentro do if. Pra isso basta colocar as instrues dentro de um caracter especial chaves({), delimitando o bloco de comandos dentro do if.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

28

Por exemplo

<?php If ($a > $b){ Echo a maior que b ; $b = $a; } ?>


Figura 21. Exemplo de utilizao de dois comandos dentro da estrutura IF. No exemplo acima podemos ver que dentro do bloco possui dois comandos, uma funo echo(), e a atribuio do contedo da varivel $a na varivel $b. Um detalhe importante, que podemos utilizar if dentro do prprio if. Deixando assim a estrutura mais complexa.

6.2 ELSE
A instruo else utilizada quando voc vai querer executar certa instruo que for encontrada, e uma instruo diferente se a condio no for encontrada. Isto o que o else faz. else estende um comando if para executar uma instruo caso a expresso no comando if seja avaliada como FALSE. Conforme a figura abaixo:

<?php If ($a > $b) { Echo a maior que b; } else{ Echo a no maior que b; } ?>
Figura 22. Exemplo de utilizao da estrutura ELSE.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

29

Como podemos ver o comando else s executado se a expresso if for avaliada como FALSE, e se havendo qualquer expresso elseif, somente se todas elas forem avaliadas como FALSE.

6.3 ELSEIF
elseif uma combinao de if e else. Da mesma forma que o else, ele estende um comando if para executar uma instruo diferente no caso de a expresso if original ser avaliada como FALSE. Porm, ao contrrio de else, ele executar aquela expresso alternativa somente se a expresso condicional do elseif for avaliada como TRUE. Por exemplo

<?php If ($a > $b) { Echo a maior que b; } elseif ($a == $b) { Echo a igual a b; }else{ Echo b maior que a; } ?>
Figura 23. Exemplo de utilizao da estrutura ELSEIF. Tambm podemos ter vrios elseifs dentro da mesma instruo if. A primeira expresso elseif que for avaliada como TRUE ser executada.

6.4 while
A estrutura de repetio while, assim como a estrutura for, permite que um conjunto de instruo possa ser executado enquanto uma determinada condio de permanncia for verdadeira Loops while so o tipo mais simples de criar um 'loop' em PHP. Eles se comportam como seus compatveis em C. O formato bsico de um comando while : While (expresso) instrues;
Curso Bacharelado em Cincia da Computao FACTEF PAG

30

O significado de um comando while simples. O comando executado ate que a expresso se torne false. O valor da expresso verificado cada vez que se passa no comeo do 'loop', desta forma, mesmo que este valor mude durante a execuo dos comandos, a execuo no parar at que o fim da iterao. s vezes, se a expresso while avaliada como FALSE logo no incio, os comandos no sero executados. Como no comando if, voc pode agrupar mltiplos comandos dentro do mesmo lao while englobando um grupo de instrues com chaves, ou usando a sintaxe alternativa: While (expresso): instrues ... endwhile; Exemplo

<?php $i = 1; while ($i <= 10) { echo $i++; /* o valor impresso ser $i depois do acrscimo (post-increment) */ } $i = 1; while ($i <= 10): echo $i; $i++; endwhile; ?>
Figura 24. Exemplo de utilizao da estrutura WHILE. No exemplo acima podemos notar que a instruo ser executada ate o valor da varivel $i seja menor ou igual ao nmero 10.

6.5 do..while
Loops do..while bem parecido com os loops while, exceto pelo fato de que a condio verificada no fim de cada iterao em vez de no comeo. A diferena dos dois que pelo menos as instrues dentro da estrutura do (do.. while) executada uma vez, mesmo em que a expresso seja falsa. J na estrutura do (while) as instrues no executada se a expresso for falsa, pois a expresso avaliada logo no incio. H apenas uma sintaxe para loops do..while conforme a figura abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

31

<?php Si = 0; do{ echo $si; } while ($i > 0); ?>


Figura 25. Exemplo de utilizao da estrutura DO..WHILE. No exemplo acima o loop rodaria exatamente uma vez, desde que depois da primeira iterao, quando a condio verificada, ela avaliada como FALSE e a execuo do loop termina.

6.6 for
O comando for utilizado para permitir que um conjunto de instrues seja executado enquanto uma determinada condio for verdadeira Loops for so os laos mais complexos em PHP. Eles se comportam como os seus compatveis em C. A sintaxe de um loop for : For (expressao1; expressao2; expressao3) instrues; A primeira expresso(expressao1) geralmente um comando de atribuio que coloca um valor inicial para as variveis de controle do for, a segunda expresso (expressao2) uma condio relacional, lgica ou aritmtica, que define at quando a iterao pode continuar (condio de permanncia da repetio). E a expresso (expressao3) utilizada para incrementar ou decrementar a varivel de controle do lao que varia cada vez que o lao repetido. Exemplo

Curso Bacharelado em Cincia da Computao FACTEF

PAG

32

<?php for ($i = 1; $i <= 10; $i++) { echo $i; } for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } for ($i = 1; $i <= 10; echo $i, $i++); ?>
Figura 26. Exemplo de utilizao da estrutura FOR. O que acontece no exemplo acima, no nosso caso do primeiro exemplo, tem como primeira expresso uma varivel Si recebendo um valor, j na segunda expresso esta varivel que foi inicializada com o valor 1, esta sendo comparado com um valor, que neste caso o nmero 10. a estrutura ser executada ate que esta segunda expresso seja verdadeira. J na terceira expresso a varivel Si incrementada. O PHP tambm suporta a "sintaxe de dois-pontos" alternativa para laos for: For (expressao1; expressao2; expressao3): instrues; ....; endfor;

6.7 break
break cancela a execuo do comando for, while, do..while ou switch atual. break aceita um argumento numrico opcional que diz a ele quantas estruturas aninhadas englobadas devem ser quebradas. Exemplo

Curso Bacharelado em Cincia da Computao FACTEF

PAG

33

<?php $i = 0; while (++$i) { switch ($i) { case 5: echo "No 5<br />\n"; break 1; // Sai somente do switch. case 10: echo "No 10; saindo<br />\n"; break 2; // Sai do switch e while. default: break; } } ?>
Figura 27. Exemplo de utilizao do comando Break.

6.8 continue
continue usado dentro de estruturas de loops para saltar o resto da iterao do loop atual e continuar a execuo no incio da prxima iterao. continue aceita um argumento numrico opcional que diz a ele de quantos nveis de loops aninhados ele deve saltar at o fim. Conforme a figura abaixo:

<?php
$i = 0; while ($i++ < 5) { echo "Fora<br />\n"; while (1) { echo "&nbsp;&nbsp;Meio<br />\n"; while (1) { echo "&nbsp;&nbsp;Dentro<br />\n"; continue 3; } echo "Isto nunca ser exibido.<br />\n"; } echo "Nem isso.<br />\n"; } ?> Figura 28. Exemplo de utilizao do comando Continue.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

34

6.9 switch
A instruo switch similar a uma srie de instrues IFs seguidas. Em muitas ocasies, voc poder ter que comparar a mesma varivel (ou expresso) com muitos valores diferentes, executando cdigos diferentes dependendo com qual valor ele se encaixar. exatamente para isso que a instruo switch faz. Exemplo

<?php if ($i == 0) { echo "i igual a 0"; } elseif ($i == 1) { echo "i igual a 1"; } elseif ($i == 2) { echo "i igual a 2"; } switch ($i) { case 0: echo "i igual a 0"; break; case 1: echo "i igual a 1"; break; case 2: echo "i igual a 2"; break; }
?> Figura 29. Exemplo de utilizao da estrutura switch. importante entender como a instruo switch funciona para evitar enganos. A instruo switch executa linha a linha. No incio, nenhum cdigo executado. Somente quando uma instruo case encontrada com um valor que combina com a expresso do switch faz com que o PHP execute as instrues a partir da. O PHP continua executando as instrues at o fim do bloco switch ou na primeira vez que encontrar uma instruo break. Se voc no escrever uma instruo break no fim das instrues case, o PHP continuar executando os cases seguintes. Conforme a figura abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

35

<?php switch ($i) { case 0: echo "i igual a 0"; case 1: echo "i igual a 1"; case 2: echo "i igual a 2"; }
?> Figura 30. Exemplo de utilizao da estrutura switch. No exemplo acima, se $i igual a zero, o PHP executar todas as instrues echo! Se $i igual a 1, o PHP executar as ltimas duas instrues echo, e somente se $i for igual a 2, voc ter o comportamento 'esperado' apenas onde 'i igual a 2' ser mostrado. Ento importante no se esquecer das instrues break. Um case especial o default. Esse case executado quando nenhum outro case combina. Ele precisa ser a ltima instruo case. Conforme a figura abaixo:

<?php switch ($i) { case 0: echo "i igual a 0"; break; case 1: echo "i igual a 1"; break; case 2: echo "i igual a 2"; break; default: echo "i no igual a 0, 1 ou 2"; }
?> Figura 31. Exemplo de utilizao da estrutura switch utilizando defaut. A expresso avaliada pelo case precisa ser um tipo simples, ou seja, inteiros, nmeros de ponto flutuante e strings. Arrays ou objetos no podem ser utilizados a no ser que eles impliquem num tipo simples.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

36

Captulo 7 Funes

Uma funo na linguagem PHP pode executar as mesmas tarefas que os procedimentos e funes de outras linguagens de programao estruturadas.

7.1 Funes definidas pelo usurio


Uma funo pode ser definida usando-se a sintaxe como a seguinte: <?php function nome_da_funcao ($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Exemplo de funo.\n"; return $valor_retornado; } ?> No PHP 3, as funes precisam ser definidas antes de serem referenciadas. Esse requisito no existe no PHP 4. Exceto quando uma funo definida condicionalmente.

7.2 Funes que Retornam valores


Valores podem ser retornados utilizando a instruo opcional return. Qualquer tipo pode ser retornado, incluindo arrays e objetos. Isto faz com que as funes terminem sua execuo imediatamente e passa o controle de volta para a linha de onde ela foi chamada. Conforme a figura abaixo:

<?php function quadrado ($num) { return $num * $num; } echo quadrado (4); // imprime '16'.
?> Figura 32. Exemplo de uma funo que retona um valor.

7.3 Funes internas


O PHP vem com vrias funes e construtores. Eles podem ser funes que dependem de extenses especficas do PHP compiladas, ou de outra forma voc obter erros fatais "undefined function". Por exemplo, para usar funes imagem como a imagecreatetruecolor(), voc precisa que seu PHP seja compilado com suporte ao GD. Ou, para utilizar mysql_connect() voc precisar ter seu PHP compilado com suporte ao
Curso Bacharelado em Cincia da Computao FACTEF PAG

37

MySQL. H vrias funes centrais que so includas em cada verso do PHP como funes de strings e variveis. Uma chamada a phpinfo() ou get_loaded_extensions() mostrar que extenses esto carregadas em seu PHP.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

38

Captulo 8 Acessando o MySql via PHP

Para interagir com uma base de dados, existem trs comandos bsicos que devem ser utilizados: um que faz a conexo com o servidor de banco de dados, um que seleciona a base de dados a ser utilizada e um terceiro que executa uma query SQL.

8.1 Estabelecendo conexes


Para acessar bases de dados num servidor MySql, necessrio antes estabelecer uma conexo. Para isso, deve ser utilizado o comando mysql_connect, ou o mysql_pconnect. A diferena entre os dois comandos que o mysql_pconnect estabelece uma conexo permanente, ou seja, que no encerrada ao final da execuo do script. As assinaturas dos dois comandos so semelhantes, conforme a figura abaixo:

int mysql_connect(string [host[:porta]] , string [login] , string [senha] ); int mysql_pconnect(string [host[:porta]] , string [login] , string [senha] );
Figura 33. Exemplo do comando para a conexao com o banco de dados. O valor de retorno um inteiro que identifica a conexo, ou falso se a conexo falhar. Antes de tentar estabelecer uma conexo, o interpretador PHP verifica se j existe uma conexo estabelecida com o mesmo host, o mesmo login e a mesma senha. Se existir, o identificador desta conexo retornado. Seno, uma nova conexo criada. Uma conexo estabelecida com o comando mysql_connect encerrada ao final da execuo do script. Para encerr-la antes disso deve ser utilizado o comando mysql_close, que tem a seguinte assinatura conforme a figura abaixo:

int mysql_close(int [identificador da conexo] );


Figura 34. Exemplo do comando para fechar uma conexao com o banco de dados. Se o identificador no for fornecido, a ltima conexo estabelecida ser encerrada.

OBS: o comando mysql_close no encerra conexes estabelecidas com o comando mysql_pconnect.

8.2 Selecionando a base de dados

Curso Bacharelado em Cincia da Computao FACTEF

PAG

39

Depois de estabelecida conexo, preciso selecionar a base de dados a ser utilizada, atravs do comando mysql_select_db, que mostrado na figura abaixo:

int mysql_select_db(string base, int [conexao] );


Figura 35. Exemplo do comando para selecionar um banco de dados. Novamente, se o identificador da conexo no for fornecido, a ltima conexo estabelecida ser utilizada.

8.3 Realizando consultas


Para executar consultas SQL no mySQL, utiliza-se o comando mysql_query, conforme a figura abaixo:

int mysql_query(string query, int [conexao] );


Figura 36. Exemplo do comando para realizar uma consulta em banco de dados. Onde query a expresso SQL a ser executada, sem o ponto-e-vrgula no final, e conexao o identificador da conexo a ser utilizada. A consulta ser executada na base de dados selecionada pelo comando mysql_select_db. bom lembrar que uma consulta no significa apenas um comando SELECT. A consulta pode conter qualquer comando SQL aceito pelo banco. O valor de retorno falso se a expresso SQL for incorreta, e diferente de zero se for correta. No caso de uma expresso SELECT, as linhas retornadas so armazenadas numa memria de resultados, e o valor de retorno o identificador do resultado. Alguns comandos podem ser realizados com esse resultado:

8.4 Apagando o resultado


O comando mysql_free-result deve ser utilizado para apagar da memria o resultado indicado, conforme a figura abaixo.

int mysql_free_result(int result);


Figura 37. Exemplo do comando para apagar da memria um resultado.

8.5 Nmero de linhas


O comando mysql_num_rows retorna o nmero de linhas contidas num resultado.

int mysql_num_rows(int result);


Figura 38. Exemplo do comando para retornar um nmero de linhas do resultado.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

40

8.6 Utilizando os resultados


Existem diversas maneiras de ler os resultados de uma query SELECT. As mais comuns sero vistas a seguir, uma delas o comando mysql_result, conforme a figura abaixo:

int mysql_result(int result, int linha, mixed [campo] );


Figura 39. Exemplo do comando para retornar um nmero de linhas do resultado. Retorna o contedo de uma clula da tabela de resultados. result o identificador do resultado; linha o nmero da linha, iniciado por 0; campo uma string com o nome do campo, ou um nmero correspondente ao nmero da coluna. Se for utilizado um alias na consulta, este deve ser utilizado no comando mysql_result. Este comando deve ser utilizado apenas para resultados pequenos. Quando o volume de dados for maior, recomendado utilizar um dos mtodos a seguir, conforme a figura abaixo:

array mysql_fetch_array(int result);


Figura 40. Exemplo do comando para retornar um nmero maior de linhas do resultado. L uma linha do resultado e devolve um array, cujos ndices so os nomes dos campos. A execuo seguinte do mesmo comando ler a prxima linha, at chegar ao final do resultado.

array mysql_fetch_row(int result);


Figura 41. Exemplo do comando que le linha a linha ate o final do resultado. Semelhante ao comando anterior, com a diferena que os ndices do array so numricos, iniciando pelo 0 (zero).

8.7 Alterando o ponteiro de um resultado


Cada resultado possui um ponteiro, que indica qual ser a prxima linha lida com o comando mysql_fetch_row (ou mysql_fetch_array). Para alterar a posio indicada por esse ponteiro deve ser utilizada a funo mysql_data_seek, sendo que o nmero da primeira linha de um resultado zero, conforme a figura abaixo.

int mysql_data_seek(int result, int numero);


Figura 42. Exemplo do comando para alterar o ponteiro de um resultado.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

41

Captulo 9 Exemplos de cdigos PHP

9.1 Chat
Vamos comear trabalhar com o cdigo passo a passo. Que ser desenvolvido uma sala de bate-papo. Passo. Vamos criar a nossa pagina principal. Onde possibilitara ao usurio digitar o seu nome e apelido. Conforme a listagem abaixo. <html> <head> <title>Chat</title> <meta http-equiv="Pragma" content="no-cache"> </head> <body > <form method="post" action="entra.php" name="frmEntra"> <p align="center"><i><b>Digite o seu Nome ou Apelido .</b></i></p> <p align="center"><input type="text" name="valor" size="31"></p> <p align="center"><input type="submit" value="Entrar" name="B1"></p> </form> </body> </html> Listagem 3. Cdigo da pgina principal. Como podemos observar na figura acima, a pagina tera um formulrio e dentro deste formulrio nos teremos um caixa, aonde permitira o usuario digitar o seu nome ou apelido. E dentro deste formulrio ainda teremos um boto que tem como finalidade chamar a pagina entra.php que foi especificado logo acima no parmetro action. Passo Vamos criar uma nova pagina. Onde esta pgina tem como funo processar a informao que o usurio ira digitar na nossa pagina principal. Conforme a listagem abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

42

<html> <head> </head> <body bgcolor="#FFFFFF"> <?php session_start(); session_register("nome"); $nome=$valor; ?> <script> window.open('chat.html', 'chat', 'toolbar=no,location=no,status=no,menubar=no,width=700,height=500'); window.close() </script> </body> </html> Listagem 4. Cdigo para processar as informaes postada da pgina principal. No cdigo acima nos estamos utilizando uma funo session do php, para armazenar qualquer tipo de informao que digitada pelo usurio na pagina principal, como seu nome ou apelido. Logo aps de armazenarmos o nome ou apelido do usurio, ira se abrir uma janela atravs do script escrito em javascript (<script> window.open('chat.html', 'chat', 'toolbar=no,location=no,status=no,menubar=no,width=700,height=500'); window.close() </script>. Essa nova janela que ira abrir o nosso chat, que dividido em duas partes atravs do uso de um frame, uma que ira carregar o arquivo ler.php, que tem por finalidade mostrar as mensagens. E um outro arquivo que ser carregado, que tem por finalidade de enviar as nossas mensagens. Passo Vamos agora criar a janela que ser o nosso chat. Como eu tinha dito anteriormente essa nossa janela ser dividida em 2 partes, a primeira vai mostrar as mensagens digitada pelo o usurio e o segundo vai enviar as mensagens. Conforme a listagem abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

43

<html> <head> <title>Chat</title> <meta http-equiv="Pragma" content="no-cache"> </head> <frameset rows="*,109" frameborder="no" border="0" framespacing="0"> <frame name="meio" src="ler.php"> <frame name="parte inferior" scrolling="no" noresize src="form.php"> <noframes> <body> <p>Esta pgina usa quadros mas seu navegador no aceita quadros.</p> </body> </noframes> </frameset> </html> Listagem 5. Cdigo do nosso chat. Passo O nosso proximo passo sera de criar o arquivo que enviara as mensagens alem de ter todos os usuarios conectados atraves de um arquivo txt. Conforme a listagem abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

44

<html><body> <table width="100%" cellpadding="0" cellspacing="0" border="1" bordercolor ="#000000"> <tr> <td align="center"> <form action="lform.php" method="post" name="frmMsg"> <table width="600" border="0"> <tr> <td><b><i> <?php echo $nome; ?> </i></b> <p> <select size="1" name="dest"> <option selected>TODOS</option> <?php $arq="log.txt"; $fd = fopen ($arq, "r"); $i=0; while (!feof ($fd)) { $buffer = fgets($fd, 4096); $pieces = explode("|",$buffer); $reg[$i] =$pieces[0]; $i++; } fclose ($fd); for($k=0;$k < ($i-1);$k++){ $comp=$reg[$k]; for($j=$k+1;$j < $i;$j++){ if($comp==$reg[$j]){$reg[$j]="";} } } for($s=0;$s < $i;$s++){ $x=$reg[$s]; if ($x !="") { echo "<option value=\"$x\">$x</option>"; } } ?> </select><input size="44" name="msg"><input type="submit" value="Enviar" name="Enviar"> </p> </td> </tr> </table></form> </td></tr></table></body></html> Listagem 6. Cdigo da pagina que enviara os dados.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

45

Passo: Iremos criar agora a pagina que ira processar a mensagem digitada pelo usuario, conforme o cdigo abaixo: <?php session_start(); $mesg="<p>$nome fala para $dest : $msg</p>\n\n"; $arq="reg.txt"; $i=0; $fd = fopen ($arq, "r"); while (!feof ($fd)) { $buffer = fgets($fd, 500); $reg[$i] =$buffer; $i++; } fclose ($fd); $fp_a=fopen($arq,"w"); for($k=0;$k < $i;$k++){ fputs($fp_a,$reg[$k]); } fputs($fp_a,$mesg); fclose($fp_a); echo "<html><head>"; echo "<meta http-equiv=\"Refresh\" "; echo "content=\"0;url=form.php\">"; echo "</head></html>"; ?> Listagem 7. Cdigo da pagina que vai processar os dados digitado pelo usurio. Podemos notar que a varivel $nome e as variveis $dest e $msg so concatenadas na varivel $mesg. Ela vai ser adicionada ao arquivo reg.txt, de modo que a mensagem mais recente seja a ltima. As quatro ltimas linhas so para o retorno para o formulrio do chat.

OBS : a nica forma de atualizar a lista de usurios enviando uma mensagem.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

46

Passo: Agora vamos criar uma pagina que tem como funo ler os dados e mostrar quais usurios esto on-line. Veja a figura abaixo: <?php session_start(); include ("./user.php"); echo '<html><head><meta httpequiv="Refresh" content="10"></head><body>'; $arq="reg.txt"; $fd = fopen ($arq, "r"); while (!feof ($fd)) { $buffer = fgets($fd,4096); echo $buffer; } fclose ($fd); ?> Listagem 8. Cdigo que ira ler as informaes do usurios. O cdigo pequeno e alm de ler as mensagens ele tem outra funo. Voc pode notar que includo um script de nome user.php. este arquivo tem como funo mostrar os usurios on-line. O cdigo segue abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

47

<?php $timer = 1; $filename = "log.txt"; if (!$datei) $datei = dirname(__FILE__)."/$filename"; $time = @time(); $ip = $nome; $string = "$ip|$time\n"; $a = fopen("$filename", "a+"); fputs($a, $string); fclose($a); $timeout = time()-(60*$timer); $all = ""; $i = 0; $datei = file($filename); for ($num = 0; $num < count($datei); $num++) { $pieces = explode("|",$datei[$num]); if ($pieces[1] > $timeout) { $all .= $pieces[0]; $all .= ","; } $i++; } $all = substr($all,0,strlen($all)-1); $arraypieces = explode(",",$all); $useronline = count(array_flip(array_flip($arraypieces))); $dell = ""; for ($numm = 0; $numm < count($datei); $numm++) { e $tiles = explode("|",$datei[$numm]); if ($tiles[1] > $timeout) { $dell .= "$tiles[0]|$tiles[1]"; } } if (!$datei) $datei = dirname(__FILE__)."/$filename"; $time = @time(); $ip = $nome; $string = "$dell"; $a = fopen("$filename", "w+"); fputs($a, $string); fclose($a); ?> Listagem 9. Cdigo que ira mostrar os usurios que esto on-line. Finalmente, agora nos podemos testar o nosso chat. Abra o browser e na url digite
http://localhost/teste.php.

Curso Bacharelado em Cincia da Computao FACTEF

PAG

48

9.2 Aplicao de Banco de dados para Web.


Nesse nosso exemplo, ns iremos trabalhar com uma aplicao de Banco de dados para web, nessa aplicao ns iremos trabalhar com incluso, pesquisa de dados. Nos iremos utilizar o banco de dados MySql. Passo: Vamos criar a nossa pagina, que ficar responsvel pelo cadastro dos dados no banco de dados. Conforme a figura abaixo:

Curso Bacharelado em Cincia da Computao FACTEF

PAG

49

<html> <body> <p align="center"><b><font size="5">CADASTRO </font></b></p> <form method="POST" action="insere_cliente.php"> <table border="1" width="100%"> <tr> <td width="19%">Cdigo</td> <td width="81%"><input type="text" name="CODIGO" size="64"></td> </tr> <tr> <td width="19%">Nome</td> <td width="81%"><input type="text" name="NOME" size="64"></td> </tr> <tr> <td width="19%">Endereo</td> <td width="81%"><input type="text" name="ENDERECO" size="64"></td> </tr> <tr> <td width="19%">Cidade</td> <td width="81%"><input type="text" name="CIDADE" size="64"></td> </tr> <tr> <td width="19%">Bairro</td> <td width="81%"><input type="text" name="BAIRRO" size="64"></td> </tr> <tr> <td width="19%">CEP</td> <td width="81%"><input type="text" name="CEP" size="64"></td> </tr> <tr> <td width="19%">FONE</td> <td width="81%"><input type="text" name="FONE" size="64"></td> </tr> <tr> <td width="19%">email</td> <td width="81%"><input type="text" name="EMAIL" size="64"></td> </tr> <tr> <td width="100%" colspan="2"> <p align="center"><input type="submit" value="Inserir" name="B_Inserir"></td> </tr> </table> </form> </body></html> Listagem 10. Cdigo que recebera os dados a serem incluido no banco de dados.
Curso Bacharelado em Cincia da Computao FACTEF PAG

50

Como podemos ver o codigo acima recebera os dados atraves de um formulario, que sera incluido no banco de dados pelo arquivo insere_cliente.php, este arquivo sera chamado pela action="<? echo "insere_cliente.php";?> que contm o cdigo que far a incluso no banco de dados. Passo: Agora vamos criar o arquivo que ira fazer a incluso dos dados no banco de dados. Salve este arquivo com o nome de insere_cliente.php. Conforme a figura abaixo: <?php $res1 = mysql_connect("localhost", "root", ""); if ($res1){ $sql = "insert into cadastro" ." (codigo, nome, endereco, cidade, bairro, cep, fone, email)" ." values ('$codigo', '$nome', '$endereco', '$cidade', '$bairro', '$cep', '$fone', '$email')"; mysql_select_db("cliente"); $res2 = mysql_query("$sql", $res1); if ($res2) { echo("Informaes adicionadas");} else { echo("Erro na incluso ".mysql_error()."\n"); } } else { echo("Erro na tentativa de conexo ".mysql_error()."\n"); } mysql_close($res1); ?> <form method="POST" action="cadastro_de_clientes.php"> <p><input type="submit" value="OK" name="OK"></p> </form>

Listagem 11. Cdigo para a insero dos dados no banco de dados. Na figura acima, ns podemos observar que temos a funo mysql_connect(), que tem como funo fazer a conexo com o banco de dados. Esta funo precisa de 3 parametros para o seu funcionamento, o primeiro parmetro passado o endereo ip onde se localiza a base de dados, como no nosso caso eu especifiquei o parmetro como localhost, pois nos estamos desenvolvendo na maquina local. J na linha que contm a instruo Ssql = insert into cadastro .(cdigo,nome,endereo,cidade,bairro,cep,fone,email) .values($codigo,$nome,$endereco,$cidade,$bairro,$cep,$fone,$email); tem como funo de fazer a insero no banco de dados atravs da instruo sql insert
Curso Bacharelado em Cincia da Computao FACTEF PAG

51

into cadastro. O comando insert utilizando para a insero no banco e o resto do paramentro into cadastro significa que os dados sero gravados na tabela cadastro. A funo mysql_select_db(), tem como objetivo selecionar a base de dados a ser utilizada para a insero na tabela utilizada dentro da base. Que no nosso caso a nossa base de dados tem como nome cliente. Passo: Agora vamos criar o arquivo que ira fazer a pesquisa na base de dados, conforme a figura abaixo: <html> <body> <table border="0" width="100%"> <tr> <td width="100%" bgcolor="#C0C0C0"> <p align="center"><b>LISTA DE CLIENTES</b></td> </tr> <tr> <td width="100%"></td> </tr> </table> <? $res1 = mysql_connect("localhost", "root", ""); mysql_select_db("cliente"); $sql = "select nome,cidade,email from cadastro order by nome"; $res2 = mysql_query("$sql", $res1); $linha=1; $total=0; ?> <table border="0" width=100%> <tr> <th bgcolor="#4B4A49" width="40%"> <p align="left"><font color="#FFFFFF">Nome</font></p> </th> <th bgcolor="#4B4A49" width="30%"> <p align="left"><font color="#FFFFFF">Email</font></p> </th> <th bgcolor="#4B4A49" width="30%"> <p align="left"><font color="#FFFFFF">Cidade</font></p> </th> <? while($valor = mysql_fetch_array($res2)) { if ($linha>0) { ?> <tr> <td bgcolor="#FFB871"><? echo $valor["nome"]; ?></td> <td bgcolor="#FFB871"><? echo $valor["email"]; ?></td> <td bgcolor="#FFB871"><? echo $valor["cidade"]; ?></td> </tr> <? Curso Bacharelado em Cincia da Computao FACTEF PAG 52

} else { ?> <tr> <td bgcolor="#FFDFBF"><? echo $valor["nome"]; ?></td> <td bgcolor="#FFDFBF"><? echo $valor["email"]; ?></td> <td bgcolor="#FFDFBF"><? echo $valor["cidade"]; ?></td> </tr> <? } $linha=$linha*-1; } mysql_free_result($res2); mysql_close($res1); ?></table></body></html> Listagem 12. Cdigo para fazer a pesquisa dos dados no banco de dados. Na figura acima a instruo $sql = "select nome,cidade,email from cadastro order by nome"; tem como finalidade buscar os dados dentro da base de dados. utilizado o comando sql select utilizado para buscar dados em uma base de dados, em no nosso caso o comando select vai buscar todos os dados mencionado como parmetro nome, cidade, email da tabela cadastro e este resultado ira ser ordenado atravs do parmetro order by nome. Passo Agora iremos criar um arquivo com nome de index.php que vai ter dois links, um para chamar a pagina de cadastro e outro link para chamar a pagina de pesquisa dos dados. Conforme a figura abaixo: <html> <body> <h1 align="center"> Sistema de cadastro e pesquisa de dados</h1> <p><a href="cadastro_de_clientes.php">Clique aqui para Cadastrar os seus dados</a></p> <p><a href="pesquisa_cliente.php">Clique aqui para Pesquisar os dados da base de dados </a></p></body></html> Listagem 13. Pgina principal. Para finalizar j podemos testar o nosso site de incluso e pesquisa de dados em uma base de dados MySql, basta digitar na url da sua maquina o endreo localhost/o nome do seu arquivo principal. Que no nosso caso o nome index.php.
Curso Bacharelado em Cincia da Computao FACTEF PAG

53

Bibliografia

CONVERSE, Tim; Park, Joyce. PHP4 a Bblia. Campus SOARES, Bruno Augusto Lobo. Aprendendo a linguagem PHP. Cincia Moderna. NIEDERAUER, Juliano. Integrando PHP 5 com MySQL: Guia de Consulta Rpida. So Paulo: Novatec, 2005. http://linhadecodigo.com.br/artigos.asp?id_ac=227 http://www.truquesedicas.com/tutoriais/php/mysql/00001a.htm http://www.php-gtk.com.br/index.php?class=Artigo::ArtigoFormControl::View(59) http://www.numaboa.com.br/informatica/webmaster/htaccess/htaccess1.php http://scriptbrasil.com.br/forum/index.php?showforum=59 http://www.phpbrasil.com/

Curso Bacharelado em Cincia da Computao FACTEF

PAG

54