apostila de php i - institutosiegen.com.brinstitutosiegen.com.br/documentos/php_i.pdf · 2.1 site...

23
Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 1 Apostila de Linguagem de Programação I PHP Erwin Alexander Uhlmann

Upload: vucong

Post on 15-Aug-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 1

Apostila de Linguagem de Programação I

PHPErwin Alexander Uhlmann

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 2

SumárioO que é o PHP?.....................................................................................................................................3Por quê e o quê?...................................................................................................................................3

Por quê o PHP?................................................................................................................................3O quê ele pode fazer?.......................................................................................................................3

Pré requisitos........................................................................................................................................3Configurar o Dreamweaver..................................................................................................................3O código ..............................................................................................................................................5Parâmetros............................................................................................................................................7Operadores............................................................................................................................................8

Operadores aritméticos....................................................................................................................8Operadores de comparação..............................................................................................................9Operadores lógicos..........................................................................................................................9

Condições.............................................................................................................................................9Formulários.........................................................................................................................................10

GET ou POST?..............................................................................................................................10Scripts interessantes............................................................................................................................10

Utilizando um formulário..............................................................................................................10Browser type..................................................................................................................................12Data e hora.....................................................................................................................................12Endereço IP remoto........................................................................................................................13Login e senha.................................................................................................................................13Include...........................................................................................................................................13Formulários....................................................................................................................................13Array..............................................................................................................................................14Declaração switch..........................................................................................................................15Cookies..........................................................................................................................................16Conteúdo por tipo de Browser.......................................................................................................19Criar arquivos................................................................................................................................21Ler arquivos...................................................................................................................................22

Considerações finais...........................................................................................................................23Bibliografia.........................................................................................................................................23

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 3

O que é o PHP?

PHP originalmente significa “Personal Home Page Tools” ou também conhecido como PHP/FI com o mesmo significado porém “/Forms Interpreter” e evoluiu para “Hypertext Preprocessor”.Foi criado em 1994 por Rasmus Lerdorf, com código aberto, por tanto gratuito.Em 1997 mais de 50.000 só no Estados Unidos já utilizavam esta tecnologia.Atualmente contamos com a 5ª versão que foi lançada em 2007.

Por quê e o quê?

Por quê o PHP?Rápido, robusto, cross-plataform, ou seja, funciona em qualquer sistema operacional, estável e gratuito!

O quê ele pode fazer?

Praticamente tudo o que uma linguagem de computação pode fazer.

Pré requisitos

Antes começar a trabalhar com o PHP, são necessários alguns passos.Primeiro você precisará do programa PHP que fará a linguagem ser interpretada pelo computador e um servidor.Mas existem programas que já trazem estes programas embutidos e mais alguns. O Vertrigo será o utilizado ao longo do curso, mas exitem outros, como é o caso do XAMPP que pode até ser instalado em um PEN DRIVE.Vá até o site do Vertrigo e baixe a versão mais recente.http://vertrigo.sourceforge.net/Para instalar é fácil e basta seguir os passos recomendados pelo programa.Inicie sempre o Vertrigo, antes de começar a trabalhar com o PHP. Caso ele não consiga iniciar e informe problemas com a porta 80, no Painel de Controle do Windows, em Ferramentas Administrativas, e em seguida em Serviços, interrompa os programas que utilizem esta porta.Na maioria dos casos são os softwares de comunicação como o Messenger, Skype, entre outros e também o servidor ISS, caso o tenha.

Configurar o Dreamweaver

Sempre que for criar um novo Website é necessário criar um Site dentro do Dreamweaver (DW), isto é, você irá criar um site no DW para poder criar suas páginas dentro dele.Faça o seguinte passo-a-passo:

1 Abra o DW e clique no menu Site > New Site 2 Clique na aba Advanced e na Categoria Local Info (Figura 1)

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 4

2.1 Site name: Preencha com o nome do site à ser criado. Pode ser escrito de qualquer forma.

2.2 Local root folder: Indique o local onde o site será salvo. 2.3 Default images folder: Indique o local onde as imagens serão salvas. (É recomendável

criar uma pasta separada para as imagens) 2.4 HTTP address: O endereço do site na Internet, caso tenha.

3 Remote Info (Figura 2) 3.1 Access: Selecione a pasta remota. Caso você vá construir um site localmente pule para o

item 4, se não, selecione o endereço FTP para poder “subir” o site automaticamente pelo DW.

3.2 Indique o endereço e a pasta no FTP. 3.3 Login: O login do FTP. 3.4 Senha: Senha do FTP. 3.5 Escolha as opções “Use passive FTP” e “Use Firewall”. 3.6 Se você desejar que o DW “suba” os arquivos automaticamente, selecione a opção

“Automatically upload files...”. 4 Testing server. (Figura 3)

4.1 Server model: PHP MySQL 4.2 Access: Local Network

4.2.1 Indique o endereço do seu servidor local, por exemplo: C:\Program Files\VertrigoServ\www.

4.2.2 URL prefix: http://localhost/nomedapasta. Cuidado neste item, pois deverá ser escrito EXAMATENTE igual ao nome da pasta criada no servidor Vertrigo.

Figura 1

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 5

Figura 2

Figura 3

O código

A seguir você pode ver alguns comandos do PHP inseridos numa página HTML.Os códigos em preto são HTML ou cridos pelo usuário, quando embutidos no PHP, em vermelho são as TAGs PHP, em azul são funções do PHP e em amarelo, aqui representados na cor CINZA são originalmente representados em amarelo no Dreamweaver, sendo trocados aqui para melhor visualização, são os comentários.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 6

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>UnG - LPI - PHP</title></head>

<body><h1>Seu primeiro <em>script</em> </h1><p> <?PHPecho "Olá mundo!";?></p><h1>Vari&aacute;veis</h1><p><?//Comentário em uma única linha./*Comentárioem váriaslinhas*///Variáveis$data = date('d-m-Y');echo "<br>Hoje é: $data<br>";$hora = date('H:i:s');//Concatenando variáveisecho $hora . " " . $data;echo "<br>Hoje, $data, às $hora, eu escrevi um script PHP!!!<br>";?></p><h1>Aritm&eacute;tica </h1><p> <?//Aritmética$materia01 = "8,25";$materia02 = "5,75";$media = ($materia01 + $materia02)/2;echo “$media<br>”;?></p></body></html>

Explicando, dentro das TAGs do PHP os comandos quando corretos são indicados em azul no DW. O comando echo serve para imprimir algo na tela, o comando date para funções de data e hora e quando algo estiver entre aspas, simples ou duplas será interpretado como uma string, ou seja, como se fosse um texto.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 7

Parâmetros

Os seguintes caracteres são reconhecidos no format parameter string

format character Descrição Exemplo de valores

retornadosa Lowercase Ante meridiem and Post meridiem am or pmA Uppercase Ante meridiem and Post meridiem AM ou PMB Swatch Internet time 000 até 999d Dia do mês, 2 digitos com leading zeros 01 to 31D Uma representação textual de um dia, três letras Mon through Sun

F Uma representação textual de um mês, tal como janeiro ou Março Janeiro a Dezembro

g 12-hour formato de hora sem leading zeros 1 a 12G 24-hour formato de hora sem leading zeros 0 a 23h 12-hour formato de hora com leading zeros 01 a 12H 24-hour formato de hora com leading zeros 00 a 23i Minutos com leading zeros 00 para 59I

(i maiúsculo) Se a data está ou não em horário de verão 1 Horário de Verão, 0 sem Horário de Verão.

j Dia do mês sem leading zeros 1 to 31l

('L' minúsculo)

Uma representação completa textual de um dia da semana Domingo a Sábado

L Se é ano bissexto 1 ano bissexto, 0 ano não bissexto.

m Representação numérica de um mês, com leading zeros 01 a 12

M Uma representação textual curta de um mês, três letras Jan a Dec

n Representação numérica de um mês, sem leading zeros 1 a 12

O Diferença ao horário de Greenwich (GMT) em horas Exemplo: +0200

r » RFC 2822 formatted date Exemplo: Thu, 21 Dec 2000 16:01:07 +0200

s Segundos, com leading zeros 00 a 59

S Sufixo ordinal inglês para o dia do mês, 2 caracteres

st, nd, rd ou th. Funciona bem com j

t Número de dias do dado mês 28 a 31

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 8

format character Descrição Exemplo de valores

retornadosT Timezone setting of this machine Examples: EST, MDT ...

U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) See also time()

w Representação numérica do dia da semana 0 (para Domingo) a 6 (para Sábado)

WNúmero da semana do ano ISO-8601, semanas começadas na segunda-feira (adicionado no PHP 4.1.0)

Exemplo: 42 (a 42nd (quadragésima segunda) semana do ano)

Y Uma representação completa do ano, 4 dígitos Examples: 1999 ou 2003y Representação do ano em dois dígitos Examples: 99 ou 03z O dia do ano (começando de 0) 0 a 365

ZTimezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive.

-43200 até 43200

Caracteres não reconhecidos no formato de serão impressos como são.

Fonte: http://br.php.net/manual/pt_BR/function.date.php em 05/02/2008

OperadoresOs operadores são utilizados para operar sobre valores. Vamos conhecer os diferentes operadores utilizados em PHP

Operadores aritméticosOperador Descrição Exemplo Resultado

+ Adição x=2x+2 4

- Subtração x=2x-5 3

* Multiplicação x=4x*5 20

/ Divisão 15/5 3

% Módulo (restante da divisão)5%210%810%2

120

++ Incrementos x=5x++ x=6

-- Decrementos x=5x-- x--

Exercícios:

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 9

<?php//Criar um sistema de média para escolas//Crie uma variável para cada nota$b1 = "5";$b2 = "6.5";$b3 = "7.5";$b4 = "8.5";//As variáveis foram criadas e armazenadas//Calcule a média//Crie uma nova variável para calcular, note que segue a norma da matemática clássica.$media = ($b1+ $b2 + $b3 + $b4)/4;//Imprima o resultado na telaecho "$media";?>

Operadores de comparaçãoOperador Descrição Exemplo Resultado

== é igual a 5==8 falso!= não é igual 5!=8 verdadeiro> é maior que 5>8 falso< é menor que 5<8 verdadeiro

>= é maior que ou igual a 5>=8 falso< é menor que ou igual a 5<=8 verdadeiro

Operadores lógicosOperador Descrição Exemplo Resultado

&& ex=6y=3(x < 10 && y > 1)

verdadeiro

|| oux=6y=3(x==5 || y==5)

falso

! nãox=6y=3!(x==y)

verdadeiro

Condições

Declaração if, else e ifelse

A declaração if, do inglês “se”, serve para que o php realize determinado comando SE...A declaração else é o “senão”, ou seja, SE isto faça aquilo, SENÃO... Não é uma ameaça é uma promessa!Ainda tem a condição ifelse. Vamos imaginar um sistema simples de notas de uma escola, se o aluno tirar média até 3, ou seja, SE nota <= 5 – note que deve estar nesta ordem “<=” e não “=<” - o

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 10

desempenho dele foi ruim, SENÃO foi bom, mas se desejarmos algo mais preciso, utilizamos o comando ifelse, veja:if nota <= 2desempenho = péssimoifelse <4desempenho = ruimifelse <7desempenho = regularifelse <9desempenho = bomelsedesempenho = ótimo!O PHP irá atender sempre o comando que corresponder ao valor, ou seja, se a média for 4,5, ele irá ler o primeiro comando if, que pede a condição <= 2, isto não atende, então ele passará ao segundo comando, ifelse, que tem como condição <4, ainda não atende, passando ao terceiro comando ifelse, que tem como condição, <7, atende, então ele retornará a frase correspondente. E por último, o comando deverá ser somente else e sem condições, isto quer dizer, se nada antes foi antendido, faça isto.

Formulários

GET ou POST?

Os formulários são muito importantes para a interação com o PHP, pois é por meio deles que o usuário irá inserir suas informações.O método GET e o POST tem funções muito parecidas, no entanto o GET serve para enviar poucas informações, até 255 caractéres e estes serão enviados junto com o endereço do browser, já o método POST permite o envio de muito mais caracteres e não os faz na barra de endereço e sim via um arquivo temporário. Com o método POST é possível até enviar arquivos.

Scripts interessantes

Utilizando um formulário

Dentro do HTML

<form id="form1" name="form1" method="post" action="prova.php"> <label>Prova B1 <select name="b1" id="b1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option>

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 11

<option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </label> <p> <label>Prova B2 <select name="b2" id="b2"> <...Repitar as opções de b1...> </select> </label> </p> <p> <label>Prova B3 <select name="b3" id="b3"> <...Repita as opções de b1...> </select> </label></p> <p> <label>Prova B4 <select name="b4" id="select2"> <...Repita as opções de b1...> </select> </label> </p> <p> <label> <input name="Submit" type="submit" id="Submit" value="Calcular..." /> </label> </p></form>

Na página prova.phpAntes do HTML<?php$prova1 = $_POST['b1'];$prova2 = $_POST['b2'];$prova3 = $_POST['b3'];$prova4 = $_POST['b4'];$nota = ($prova1+$prova2+$prova3+$prova4)/4;echo "Sua nota de B1 é: $prova1.<br>Sua nota de B2 é:$prova2.<br>Sua nota de B3 é:$prova3.<br>Sua nota de B4 é:$prova4.<br><h3>Sua média é <strong>$nota</strong>.</h3><hr />";if ($nota<3)$desempenho = "BURRO!";elseif ($nota<5)$desempenho = "Vai estudar moleque!";elseif ($nota<7)$desempenho = "Típíco seu...medíocre!";

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 12

elseif ($nota<9)$desempenho = "Mas nem estudando tudo o que você estudou você conseguiu???";else$desempenho = "Pelo menos... Cabeção!";?>

Dentro do HTML

<?phpecho "<h1>O seu desempenho foi $desempenho.</h1>";?>

Browser type<?php $browser_type = getenv("HTTP_USER_AGENT");echo "Você está usando $browser_type.";?>

Data e hora<?//1) Exibindo a data no formato dd/mm/aaaa.

//FUNÇÃO DATE() echo $data = date("d/m/Y");?><hr /><?//2) Exibindo a data e a hora no formato 14/02/2004 21:04:02//FUNÇÃO DATE() echo $data = date("d/m/Y H:i:s ");?><hr /><?//3) Exibindo a data por extenso Sat, 14 de Feb de 2004.//FUNÇÃO DATE() echo $data = date("D, d de M de Y");?><hr /><?//PS: Veja que no exemplo acima na parte de fiz o uso do caracter de escape() para que o d não seja interpretado e sim impresso na tela do usuário.

//4) Verificar horário de verão

//FUNÇÃO DATE(i em maiúsculo)$data = date("I");

//VERIFICA O RESULTADOecho $data ? "Horário de Verão" : "Horário Normal";

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 13

?>

Endereço IP remoto<?$endereco_ip = getenv(“REMOTE_ADDR”);echo “Seu ip é: $endereco_ip”;?>

Login e senhaEste sistema de login e senha é um método simplificado para quem não irá utilizar banco de dados e permite poucas personalizações.Crie uma página com um formulário e dois campos, 'login' e 'senha' e um botão para envioar as informações. A página pode ser .html mesmo.Informe no formulário que ele enviará as informações para a página 'secreta.php', pelo método POST.Crie uma página em PHP com o nome anteriormente informado.Antes do HTML escreva o código:<?$login = $_POST['login'];$senha = $_POST['senha'];//Validação do usuário e senhaif ($login == "fulano" && $senha == "12345")echo "Seja Bem vindo!";elseheader("LOCATION: login.htm");?>

IncludeEsta interessante função tem grande utilidade para o design. Você pode criar páginas de topo, barras de navegação ou qualquer outra parte e aproveitá-la em todo o site. Ao alterar a página base, todo o site mudará.Veja o código:<?include “menu.inc”;?>

Para que funcione, primeiro você deverá criar a página base, neste caso menu.html. Depois de pronto, salve o arquivo como menu.inc.

Formulários

Os formulários de contato são presença quase unânime nos sites.Além de permitir que qualquer usuário entre em contato sem nenhum programa de envio de e-mails, o usuário poderá fazer isto de qualquer lugar.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 14

Para fazer um formulário comece a criar o código PHP antes do html.

<?phpif(isset($_POST['submit'])) {$nome = $_POST['nome'];$email = $_POST['email'];$assunto = $_POST['assunto'];$mensagem = $_POST['mensagem'];$header = "FROM: $nome <$email>";mail('[email protected]', $assunto, $mensagem, $header);}?>Crie um formulário com os mesmos nomes acima descritos, ou seja, o nome utilizado no formulário deverá ser utilizado no código PHP.NOTA: O nome da variável não precisa ser igual ao nome do campo do formulário, neste caso são iguais apenas por questões de organização.Você poderá fazer outras programações adicionais para que o usuário tenha sinal que o formulário funcionou. Se você simplesmente criar o formulário e programar o PHP para enviar, mas o usuário não perceber nenhuma reação na página poderá entender como se a página não estivesse funcionando.

Solução 1: No código do form.<form id="form1" name="form1" method="post" action="index.php">Isto não é php. Na TAG form, a opção action, por padrão não é preenchida. Coloque o endereço de uma página, por exemplo, index.php ou confirmacao.htm. O usuário agradecerá!

Solução 2:Antes da tag form, escreva:<?phpif(isset($_POST['submit'])) {echo "<hr />Obrigado <strong>$nome</strong>.Sua mensagem foi enviado com sucesso!<hr />";} else {?>Depois da TAG form.<? } ?>Isto encerrará a programação.Tudo que estiver entre as chaves ({ e }), será submetida à programação elaborada, neste caso SE (if) o formulário for SUBMETIDO (submit), ou seja, enviado, EXIBA (echo) a frase acima, SENÃO (else) – note neste ponto que não há nada programado para fazer e o que há entre as chaves é o formulário – não faça nada, a não ser exibir o formulário.

NOTA: Será necessário escolher entre as soluções 1 ou 2.

ArrayA função array tem como vantagem a automação de diversas funções. Utiliza-se uma única variável indexada e aproveita-se esta em um outro ponto do script.

Veja o exemplo de construção de um script de data completa.

Note se o botão Enviar está nomeado com “s” ou com “S”.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 15

<?php//construção de uma variável que exibirá o dia da semana$diasemana[0] = "Domingo";$diasemana[1] = "Segunda-feira";$diasemana[2] = "Terça-feira";$diasemana[3] = "Quarta-feira";$diasemana[4] = "Quinta-feira";$diasemana[5] = "Sexta-feira";$diasemana[6] = "Sábado";//Note que as variáveis tem o mesmo nome, o que diferencia é o index delas, o número ou texto dentro dos símblos []. Faça o mesmo para os meses.$mesnome[1] = "Janeiro";$mesnome[2] = "Fevereiro";$mesnome[3] = "Março";$mesnome[4] = "Abril";$mesnome[5] = "Maio";$mesnome[6] = "Junho";$mesnome[7] = "Julho";$mesnome[8] = "Agosto";$mesnome[9] = "Setembro";$mesnome[10] = "Outubro";$mesnome[11] = "Novembro";$mesnome[12] = "Dezembro";//Agora construa as variáveis para leitura das funções de dia, mês e ano, veja item Parâmetros.$ano = date('Y');$mes = date('n');$dia = date('d');$diasem = date('w');//Construção lógica$hora=getdate();if ($hora['minutes']<10){$hora['minutes']="0".$hora['minutes'] ;}$horacerta=($hora['hours'].':'.$hora['minutes']);$data = 'Hoje é '.$diasemana[$diasem].', dia '.$dia.' de '.$mesnome[$mes].' de '.$ano.' <br> Hora: '.$horacerta;echo "<html><head><title> UnG - Data completa.</title></head><body>";echo $data;echo "</body></html>";?>

Declaração switch

Semelhante a condição if-else, porém desenvolvida para executar blocos inteiros.

switch (expressão) {case valor1:código a ser executado se a expressão = valor1;break;

Note que o automatismo veio com a inserção da

variável $mes no lugar do índice da variável

$mesnome.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 16

case valor2:código a ser executado se a expressão = valor2;break;default:código a ser executado se a expressão for diferente do valor1 e valor2;}Exemplo:<?php$numero = 10;switch ($numero) {/*depois de case, note que o n°1 não está entre aspas, pois é um n°, se for um texto deverá estar.ATENÇÃO! Note que a linha do case é terminada com :, pois ela instancia a função e as linha do comando echo e break, são terminadas com ;, pois encerram o comando*/case '1':echo "O valor da variável número é igual a 1";break;case 2:echo "O valor da variável número é igual a 2";break;case 3:echo "O valor da variável número é igual a 3";break;default:echo "Não há nenhum número entre 1 e 3 na variável número.";}?>

CookiesOs Cookies são pequenos arquivos sem formatação específica que servem para transportar dados entre páginas. São gravados na máquina do usuário e podem ser utilizados por outras páginas, como por exemplo em um carrinho de compras em um site de compras.

Crie uma página com um formulário e neste um campo menu list, ou drop-down e um botão Submit.Coloque 4 valores diferentes, por exemplo 4 tecnologias para WEB, “Acessibilidade”, “Usabilidade”, “XML” e “XHTML”.

Programe para este formulário enviar os dados para a página cookie.php, pelo método POST.Na página cookie.php, antes do HTML, programe para receber os dados do formulário e a partir destes dados crie o cookie, assim:<?php//crie a variável que receberá os dados do formulário.$assunto = $_POST["interesse"];//Agora crie o cookie.//O 1° valor serve para especificar o nome, o 2° o valor a ser carregado, veja que é a variável.//O terceiro é a validade do cookie, que irá durar 3600 segundos vezes 24 horas.setcookie('interesse', $assunto, time()+3600*24);?>

Agora vamos programar a página para receber o cookie.Em Aplication > Bindings, clique no sinal “+” e escolha “Cookie Variable”.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 17

Você poderá selecionar o cookie criado, clicando e arrastando para qualquer parte da página.No modo código, clique no cookie e arraste-o para o título da página, esta terá sempre o nome do

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 18

cookie.

Dentro do <body>, vamos criar um comando para informar se o cookie foi criado com sucesso.<?phpif(isset($_COOKIE['interesse'])) {echo"O cookie 'INTERESSE' foi criado com sucesso!";}else{echo"O cookie 'INTERESSE' não foi criado, você fez algo errado. Para variar...";}?>

O comando isset tem a função de verificar se a variável foi criada, ou seja, o código poderá ser interpretado assim:PHPSe(Foi criado(cookie[chamado 'interesse'])) {escreva "O cookie 'INTERESSE' foi criado com sucesso!";}Senão{escreva"O cookie 'INTERESSE' não foi criado, você fez algo errado. Para variar...";}PHPSe o cookie for arrastado para dentro da página, o DW irá criar este código:<?php echo $_COOKIE['interesse']; ?>Que significa: Escreva o nome do Cookie.

Agora, o seguinte script vai imprimir um texto conforme o conteúdo<?phpswitch($_COOKIE['interesse']){

//Se escolher Acessibilidadecase 'Acessibilidade':echo'Escreva uma frase referente ao assunto Acessibilidade';break;

//Se escolher Usabilidadecase 'Usabilidade':echo'Escreva uma frase referente ao assunto Usabilidade';break;

//Se escolher XMLcase 'XML':echo'Escreva uma frase referente ao assunto XML';break;

//Se escolher XHTMLcase 'XHTML':echo'Escreva uma frase referente ao assunto XHTML';break;

//nenhuma das opções anterioresdefault:

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 19

echo 'Nenhum assunto foi escolhido, clique <a href="formulario_cookie.html">aqui</a> para escolher';break;}?>

Conteúdo por tipo de Browser

Um dos grandes problemas até a presente data é construir um layout ou desenvolver um aplicativo sem saber qual browser o usuário irá utilizar.

Considerando que cerca de 75% dos usuários utilizam o Internet Explorer, 22% o Firefox e 1% com outros como Opera e Safari, dependo da construção, os sites poderão ser mostrados diferentemente em cada browser.

Para solucionar, existem algumas funções no PHP que podem automatizar e garantir a qualidade do site.

O primeiro script é o HTTP_USER_AGENT.

Veja mais em PHP_I.

<?PHP//Descoberta do browser$browser = getenv("HTTP_USER_AGENT");//echo "Seu browser é: $browser"; => ficará no body?>Este script poderá ficar antes da TAG HTML.Agora crie 3 – ou quantos desejar – arquivos diferentes de CSS. Um para ser exibido no Interenet Explorer (MSIE), outro no Firefox (Mozilla) e o terceiro para ser exibido em outros browsers.

Não esqueça, nomeie o tipo do css com o mesmo nome nos 3.Exemplo:

.browser {font-family: Geneva, Arial, Helvetica, sans-serif;font-size: 14px;color: #CCCCCC;background-color: #006699;}

Dentro do body da sua página PHP.<html>...<body><span class="browser"><?phpecho "Seu browser é: $browser<br/>";?></span>Ao verificar ele não trará nenhuma formatação ainda, mas deverá mostrar o nome do browser.Logo abaixo vamos programar para o PHP imprimir uma frase.

Todos deverão ter esta identificação: “.browser”

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 20

A função que fará a isso é a preg_match.Exemplo:preg_match(“/[O que você procura]/”,”[Onde?(Variável)]”);Veja:<hr /><p> <span class="browser"> <?php//conteúdo conforme browser//o PHP irá interpretar o Internet Explorer como MSIE e o “/i” é para aceitar maiúsculas e //minúsculas.if(preg_match("/MSIE/i","$browser")) {

echo "<h1>Microsoft Internet Explorer</h1>";

} elseif (preg_match("/Mozilla/i","$browser")) {echo "<h1>Mozilla Firefox</h1>";

} else {echo "<h1>Seu browser não é suportado, por favor, utilize Firefox ou Internet

Explorer.</h1>";

}?></span></p>Para exibir a formatação desejada por browser, substitua a frase do comando echo pela TAG do CSS que fica logo abaixo da TAG <head>. Coloque o comando if/ifelse do PHP inteiro no lugar.Veja:<HTML><HEAD><TITLE>Título da página</TITLE><?php//css conforme browser//Como o link do CSS contém aspas duplas e o comando do PHP também, você precisará adicionar //o camando scape (\) antes das aspas.if(preg_match("/MSIE/i","$browser")) {

echo"<link href=\"msie.css\" rel=\"stylesheet\" type=\"text/css\" />";

} elseif (preg_match("/Mozilla/i","$browser")) {echo"<link href=\"mozilla.css\" rel=\"stylesheet\" type=\"text/css\" />";

} else {echo"<link href=\"outro.css\" rel=\"stylesheet\" type=\"text/css\" />";

}?></HEAD><BODY></BODY></HTML>

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 21

O resultado.

Internet Explorer Firefox Opera

Criar arquivosEntre as inúmeras vantagens do PHP, a capacidade de se criar um arquivo, ler ou até mesmo manipular arquivos no computador do cliente, é evidente e perigosa.Além dos Cookies, o php pode criar arquivos de diversas formas e extensões.Para criar um arquivo precisamos primeiro conhecer as funções.Veja a tabela 1:

mode Descrição'r' Abre somente para leitura; coloca o ponteiro do arquivo no começo do arquivo.

'r+' Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo.

'w' Abre somente para escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo.

'w+' Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo.

'a' Abre somente para escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo.

'a+' Abre para leitura e escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo.

'x'

Cria e abre o arquivo somente para escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada a fopen() falhará, retornando FALSE e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2).

'x+'

Cria e abre o arquivo para leitura e escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada a fopen() falhará, retornando FALSE e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2).

Para cria r um arquivo proceda assim:Crie um formulário, com o método POST, que envie os dados para a página leitor.php.

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 22

O código para se criar um arquivo é simples.<?php//crie um avariável para receber os dados do formulário.$texto = $_POST['texto'];//crie uma variável para armazenar os dados da função fopen./*a Função Open, fopen pede o nome do arquivo, “texto.htm” e depois o método 'w', de write, que serve para escrever no arquivo, veja a tabela.*/$novoarquivo = fopen("texto.htm", "w");/*Função Write com a variável que criamos na linha acima e o conteúdo do arquivo com a variável que contém o que foi escrito no formulário.*/fwrite($novoarquivo,"$texto");//Função Close para encerrar o comando de escrita.fclose($novoarquivo);?>

Ler arquivosDentro do <body>.<?php//caminho do arquivo, pode conter diret´rios no computador ou no servidor. Onde for gravado.$local = "teste.html";//abre o arquivo para leitura ("r") - read$leitura = fopen($local,"r");

Erwin Alexander Uhlmann – www.institutosiegen.com.br - 14/02/08 - 23

//coloca o conteúdo em uma única variável$arquivo = fread($leitura, filesize($local));//fecha o arquivofclose($leitura);//imprime o arquivo na telaecho "$arquivo";?>

Considerações finais.O PHP é muito extenso. Esta apostila foi elabora com o intuito de trazer alguns dos recursos mais utilizados para a WEB, sem pretender, é claro, demonstrar o que pode ser feito, nem muito menos esgotar o assunto.Lembre-se! No PHP, tudo o que é fixo, pode se tornar variável!

Bibliografia● http://vertrigo.sourceforge.net/

● http://developer.mozilla.org/pt/docs/Utilizando_meta_tags

● http://www.prophp.com.br/

● http://www.php.net/manual/pt_BR/manual.php

● Fundamentos de PHP, MELONI, Julie C. - ed. Ciência Moderna

● Desenvolvendo Websites com PHP – NIEDERAUER, Juliano – ed. Novatec

● PHP Profissional – MELO Alexandre A., Nascimento, Maurício G. F. - Novatec.