O que é o PHP PHP ( Hypertext Preprocessor) A linguagem php foi desenvolvida no ano de 1994 por Rasmus Lerdorf. Suas primeiras versões apenas eram utilizadas para que ele pudesse ter informações sobre as visitas que estava recebendo em suas páginas. Em 1995 Aconteceu a primeira versão liberada conhecida como Personal Home Page Tools ( Ferramenta para página pessoal). Era composta por um sistema bem simples que interpretava códigos que rodavam por trás das home-pages: um livro de visita, um contado entre outras funções. Ainda em 1995 o interpretador foi reescrito recebendo o nome de PHP/ FI, o “FI” veio de outros pacote escrito por Rasmus que interpretava dados de formulários HTML ( Form Interpreter). Ele combinou os scripts do pacote Personal Home Page Tools com o FI e adicionou suporte a SQL, nascendo assim o PHP/FI. Já em meados de 1997 mais de 50.000 sites utilizavam essa linguagem pelo mundo. Nessa época o PHP deixou de ser um projeto de Ramus para ter uma equipe de desenvolvimento mais organizada. O interpretador foi reescrito por Zeev Suraski e Andi Gutmans, que se tornou a base para a versão 3. A versão mais atual até o momento é a PHP 5.3 ( 5.3.2), sendo que a versão 6.0 já está em fase final de desenvolvimento.
O PHP é uma linguagem que permite criar páginas dinâmicas para internet, possibilitando a troca de informações com o usuário através de formulários, links etc. Possui licença livre, ou seja, sua instalação e utilização são gratuitas. Como principal característica tem o fato de que o código é executado no servidor, enviado para o cliente apenas html puro. Quando visualizamos o código fonte através do navegador web são exibidas apenas as instruções HTML. Desta maneira é possível interagir com bancos de dados e aplicações existentes no servidor, com a vantagem de não expor o código fonte par ao cliente. Isso pode ser útil quando o programa está lidando com senhas ou qualquer outro tipo de informação confidencial.
CRIAÇÃO DE FORMULÁRIOS Antes de começarmos a entender a liguagem PHP é necessário aprender os códigos para criação de formulários. Os formulários são um conjunto de campos que permitem que o usuário de Web possa submeter informações para o provedor de serviço. Através dos formulários poderemos ter um melhor contato com as pessoas que acessam o nosso site, havendo assim uma melhor interação com o nosso usuário. Podemos pedir ao usuário que digite alguns textos como nome, CPF, senha, podemos fazer o usuários escolher entre diversas opções e fornecer o envio de dados ou a limpeza de campos, além de uma infinidade de outras aplicações.
Existem vários tipos de campos de entrada como:
Campos de entrada de texto Menus de múltipla escolha ou escolha única Botões sim ou não Botões para submissão ou limpeza de formulário.
Cada um desses campos tem funcionalidade própria e você vai aprender em que situação devemos utilizá-los em seus formulários. Os formulário são tão importantes que diariamente temos contato com diversos tipos de forms ( formulário), como login para acesso a rede sócia ou e-mail, para fazer uma compra na internet ou para selecionar se você está de acordo com os “Termos de uso e condições”.Agora vamos entender como funcionam as tags de um formulário.
FORM A tag <form> vem do inglês form e significa formulário. A tag <form> especifica a URL para a qual os dados coletados serão direcionados, e de qual forma serão enviados para o servidor ela se inicia assim: <form> e finaliza o código assim :</form>. <form> /* indica o início de um formulário */ Conteúdo do formulário </form> /* indica o fim de um formulário */ Quando o formulário é submetido, o navegador é direcionado para a página especificada na URL do atributo action que pode ser definido de duas formas GET OU POST.
METODO DE ENVIO GET E POST O HTTP – Hypertext Transfer Protocol(Protocolo de Transferência de Dados) é um protocolo ou padrão de rede implementado em cima do TCP para que browsers e servidores possam se comunicar. Um cliente HTTP é um browser, ou seja, Chrome, Firefox, Internet Explore, entre outros, são software’s que se comunicam com servidores através do HTTP. O tipo de servidor a que me refiro aqui também são software’s, como por exemplo, o Apache e o IIS(Microsoft). Os principais métodos de comunicação HTTP são: GET e POST. Uma das funções mais importantes do PHP é o suporte a um grande número de banco de dados, como dBase, Interbase, MSQL, Oracle, PostgreeSQL e vários outros. Construir uma página baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP.
Get- Este método é bem restrito quanto ao tamanho e quantidade das informações que são passadas pela URL. Você poderá enviar no máximo 1024 caracteres, o que limita bastante suas possibilidades com esse método. Caso você passe desse limite, você corre o risco de obter um erro da sua página, já que as informações foram passadas de forma incompleta. Com este método as informações enviadas ficam visíveis ao visitante, o que é uma brecha na segurança, pois um visitante malicioso pode colocar algum código de SQL Injection e fazer um belo estrago com o seu site, ou até mesmo o servidor. Então, quando queremos passar parâmetros confidenciais, como exemplo as senhas, não devemos utilizar esse método. Para isso temos o POST.
POST-
Este método é mais seguro e tem uma capacidade de dados melhor que o GET. Nesse método uma conexão paralela é aberta e os dados são passados por ela. Não há restrição referente ao tamanho e os dados não são visíveis ao usuário. Este método é feito através de formulários (Tag), onde passamos informações para uma outra página que irá recebê-las e fazer o que o desenvolvedor quiser, como tratamento dos dados, armazenamento no banco de dados, etc. Por passar dados invisíveis ao usuário, ela se torna mais segura e devemos utilizar este método quando criamos sistemas de acesso restrito com “sessões” (login/senha). Para enviarmos algumas informações de um formulário para uma outra página, devemos incluir no atributo “method” o valor “POST” e no atributo “action” o nome do arquivo que irá receber as informações.
Visibilidade – A grande diferença entre os métodos GET e POST provavelmente é a visibilidade. Uma requisição GET é enviada como string anexada a URL, enquanto que a requisição POST é encapsulada junto ao corpo da requisição HTTP e não pode ser vista. O método post é o mais utilizado em formulário de cadastro e registro de usuários, envio de dados para alteração do sistema, cadastro de dados em sistemas de sites e outros. A diferença é simples, sempre que for buscar ou apenas consultar alguma coisa, utilize GET e se for fazer alguma alteração com a requisição, envio de arquivo ou os dados forem muitos, utilize POST. Veja abaixo um formulário básico e verifique o que significa cada opção logo abaixo deste formulário. <form name=”contato” action=”enviar.php” method=”post”>
Campos do formulário aqui dentro das suas tags.
</form>
<form> inicio da tag do formulário Name- nome do formulário
Acition- ligação do formulário a sua página php Method- método de envio do formulário que normalmente é utilizado post.
</form> fim da tag do formulário Obs: Todo tipo de formulário deve estar entre as tags forms pois só as funções do formulário só funcionam se estiverem dentro destas tags.
Veja agora cada item que fica dentro das tags <form></form> Entrada (Input) A tag de formulário mais usada é a tag <input>. O tipo de input é especificado com o atributo type (tipo). Os tipos de input mais comumente usados são explicados abaixo. Campos de Texto Os campos de texto são usados quando você quer que o usuário digite letras, números, etc. em um formulário. <form> Primeiro nome: <input type="text" name="nome"> <br> Último nome: <input type="text" name="nomefinal"> </form> Como aparece no navegador: Primeiro nome: Último nome: Outras opções de entrada de formulário
Text- Permite a digitação de palavras ou linhas de textos. Value- opção que específica que o texto aparecerá no campo quando o formulário for exibido. Size- Altera o tamanho do campo que será exibido na tela. Maxlength- Se você quiser limitar o número de caracteres que o usuário irá digitar basta usar essa marcação. O formulário irá emitir um bip de erro, se o usuário tentar digitar além do permitido em MAXLENGTH. Exemplo de formulário utilizando os atributos acima:
<form name="cadastro" action="enviar.php" method="post">
Digite seu nome:<input type=”text” name="nome" value ="JPI" size ="50" maxlength="15"> <br /> Digite seu e-mail:<input type=”text” maxlength="2">
name="email" value="digite seu email"
size ="100"
</form>
Texto protegido por senha: PASSWORD Marcações de entrada do tipo password, são idênticas aos campos do tipo text, exceto pelo fato dos caracteres serem exibidos como asteriscos (*).Veja o exemplo abaixo:
<form name="cadastro" action="enviar.php" method="post"> Digite seu nome:<input type=”text” name="nome" value ="JPI" size ="50" maxlength="15"><br /> Digite a senha :<input type=”password” name="senha" value="digite sua senha" size ="100" maxlength="6"> </form> Obs: A opção password transforma o texto digitado em asterisco, a opção value faz aparecer o texto dentro da caixa onde o usuário terá que digitar as informações, ela é opcional.
TEXTAREA E SELECT Textarea A marcação textarea não utiliza o formato convencional INPUT TYPE=”text” dos exemplos anteriores. Este atributo é delimitado da seguinte maneira: < textarea> início da marcação Parâmetros </textarea> fim da marcação
Vamos agora entender os parâmetros desta marcação: Rows – Específica o número de linhas da entrada do texto. Cols – Específica o número de colunas da entrada do texto. Ex:
<form> <h2>Por favor escreva aqui suas sugestões, dúvidas ou críticas:<BR> <textarea name= “sugerir” rows= “3” cols= “40”></textarea> </form>
SELECT A marcação SELECT segue a mesma convenção de TEXTAREA, ou seja, as opções de menu ficam entre a marcação de início <select> e a de fim </select> Parâmetros
Option- Específica uma opção presente no menu Value – Especifica o valor da opção retornada ao servidor. Se não for definido, o nome da opção é enviado ao servidor. Esta opção é opcional. Selected – Por regra a primeira option é exibida no menu. Esta marcação estabelece uma opção de menu a ser exibida inicialmente, quando não se deseja que seja a primeira option. Ex:
<form> <h2> Onde você pretende passar as férias?<br> < select name = “lugares”> <option value= “BH”> Bahia <option value= “RS”> Porto Alegre < option value= “RJ”> Rio de Janeiro <option value= “SP”> São Paulo <option selected value= “RN”> Natal </selectec> </form>
CHECKBOX E RADIOBUTTONS CHECKBOX Usado para questões de sim/não ("questões de marcar x"), sendo representado por um botão, que é marcado/desmarcado quando clicado. Mais de uma opção com mesmo atributo NAME e diferentes atributos VALUES podem ser selecionadas, simulando uma Lista de Seleção Múltipla. Quando temos muitas opções é mais recomendado o uso da lista de seleção múltipla. Quais dos esportes abaixo você pratica? natação
ginástica
vôlei
futebol
RADIO Similar ao CHECKBOX, mas no RADIO somente uma opção pode ser selecionada. Quando uma opção RADIO é marcada, esta só será desmarcada quando outra opção RADIO com mesmo NAME for selecionada. O INPUT tipo RADIO é melhor empregado quando queremos representar poucas opções. No caso de termos muitas opções é mais recomendado o uso do menu.
Qual o seu sexo? feminino
masculino
Exemplo 1: usando CHECKBOX para simular uma Lista de Seleção Múltipla. <form> <INPUT TYPE="checkbox" NAME="OPCAO" VALUE="op1"> opção1 <INPUT TYPE="checkbox" NAME="OPCAO" VALUE="op2"> opção2 <INPUT TYPE="checkbox" NAME="OPCAO" VALUE="op3"> opção3 </form> opção2 opção3
opção1
Ex2: Radio - uma opção tipo RADIO só é desmarcada quando outra opção RADIO com mesmo NAME for selecionada. <form> <INPUT TYPE="RADIO" NAME="OPCAO" VALUE="op1"> opção1 <INPUT TYPE="RADIO" NAME="OPCAO" VALUE="op2"> opção2 </form>
opção1
opção2
VALUE:é um atributo obrigatório que especifica o valor do INPUT quando este botão é selecionado (botões não selecionados são desconsiderados durante a submissão dos dados). O valor defaultpara "checkbox" e "radio" é on. Se muitos botões RADIO tiverem mesmo NAME e nenhum atributo VALUE especificado, todos assumirão o mesmo valor default on, e o servidor não será capaz de dizer qual botão está selecionado.
CHECKED: especifica que este botão "checkbox" ou "radio" é selecionado por default. o Exemplo 3: <form> <INPUT TYPE="checkbox" NAME="OPCAO" VALUE="op1"> opcao1 <INPUT TYPE="checkbox" NAME="OPCAO" VALUE="op2" CHECKED> opcao2 <INPUT TYPE="checkbox" NAME="OPCAO" VALUE="op3"> opcao3 </form> opcao1 opcao2 opcao3
o
Exemplo 4: <form> <INPUT TYPE="radio" NAME="OPCAO" VALUE="op1" CHECKED> opção1 <INPUT TYPE="radio" NAME="OPCAO" VALUE="op2"> opção2 <INPUT TYPE="radio" NAME="OPCAO" VALUE="op3"> opção3
</form>
opção1
opção2 opção3
Botões de submissão e limpeza- reset e submit É importante ter o botão submit ( enviar ) e o botão reset ( limpar ) no final de cada formulário veja abaixo o que cada um faz:
Submit – Envia todas as informações digitadas para o servidor, uma vez que o usuário terminou de preencher todos os campos de entrada. Este botão transfere toda a informação para a URL especificada no elemento ACTION de form.
Reset – Limpa todos os dados caso o usuário tenha cometido algum engano na hora de digitar.
Vamos agora ver como fica a montagem de um formulário simples <form id="envia" name="envia" method="post" action="enviar.php"> <p>Nome: <input type="text" name="nome" id="nome" /> </p> <p>E-mail: <input type="text" name="email" id="email" /> </p> <p>Mensagem: <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea> </p> <p> <input type="submit" name="enviar" id="enviar" value="Enviar" /> <input type="submit" name="Limpar" id="Limpar" value="Limpar" /> </p> </form>
ENTENDENDO MELHOR A MONTAGEM DE UM FORMULÁRIO
Marcação que representa a inserção de um form na página. Input type = text
Input type = text
textarea
Botão submit
Botão reset
Delimintando o código php O código PHP fica embutido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes tags: <?php comandos
?> <script language=”php”> comandos </script>
<% comandos %> Obs: O tipo de tag php mais aplicado em sites é o primeiro. Para cada fim de linha de código tem que haver um ponto e vírgula, indicando ao sistema fim de instrução. Exemplo. <? echo 'com ponto e vírgula' ; ?> No exemplo que acabamos de ver verificamos que o código php foi iniciado e recebeu o comando echo ( comando que serve para apresentar textos na página que o usuário irá visualizar). Esse mesmo texto deverá ser finalizado com ponto e vírgula e só depois devemos fechar o código.
Testando o PHP Vamos criar um pequeno script em PHP para testarmos e verificarmos se o EasyPHP foi instalado corretamente. Utilizando o programa Dreamweave abrindo como PHP digite o script a seguir. <body> <? echo “Eu amo PHP”; ?> </body> Salve o arquivo como “ primeiro teste.php na pasta que você irá criar dentro do diretório local web que está em C:/arquivos de programas/EasyPHP/data/localweb. Com a sua página php salva na pasta você digitará o caminho na barra de endereço do seu navegador. 127.0.0.1/nome da pasta/ nome do arquivo.php e ele será exibido para você.
Para fazer um comentário de uma linha você poderá utilizar // ou # e para fazer um comentário de um bloco de linhas deveremos utilizar /* e finalizar com */. Ex:<?php // este escript irá mostrar a frase na tela Echo “Vamos aprender muito com PHP!”; ?>
/* o PHP é um programas muito interessante que pode ajudar você a fazer códigos seguros nas suas páginas de internet*/ É importante observar que ao exibir o código fonte através do navegador web podemos notar que os comandos php não aparecem pois o servidor interpreta todos os scripts antes de enviar a página.
Exercícios de Fixação 1) O que é PHP?
2) Como podemos escrever o código PHP para exibir uma frase ?
3) Como o código php é enviado para o cliente?
4) Qual o nome do criador do código PHP e em que ano ele foi criado? 5) O que são formulários? 6) Entre quais tags o formulário deve ser escrito? 7) Descreva agora a tag que se usa para nome, email , enviar e limpar um campo. 8) Descreva agora as tags para utilzar uma área de texto. 9) Descreva as tags para fazer marcação de sim e não e para fazer opções. 10) Mostre através do código html como podemos montar um formulário de envio de dados para um cliente. Também adicione a função reset para limpar os campos caso o usuário tenha cometido algum erro.