Vous êtes sur la page 1sur 100

Hypertext Preprocessor

Como? Quando? Porque?


Surgiu em 1994 com pacotes CGI criados por
Rasmus Lerdof
1997, primeiro pacote PHP/IF (Form
Interpreter)
Zeev Suraski, PHP3, pouco recursos de OOP
Zeev e Anti Gutmans, PHP4
PHP5, modularizada, robusta

Como? Quando? Porque?
Os valores abaixo referem-se ao nmero de
resultados retornados ao se fazer uma pesquisa na
web pelo nome das linguagens listadas:

php: 10.210.000.000 resultados
asp: 2.600.000.000 resultados
java: 428.000.000 resultados
ruby: 96.400.000 resultados
python: 66.100.000 resultados
Viso Geral
Interao dos softwares

WEB/PHP
Banco MySql
Cliente/Browser
Software Necessarios
Servidor WWW Apache
PHP
Banco de dados MySQL
Notas Importantes
HTML Pr-requisito fundamental
Linguagem de programao
Conhecimento bsico de banco de dados
Fundamentos do PHP
O que vem a ser o PHP?
O que pode ser feito com PHP?
Quanto custa o PHP?
Como surgiu o PHP?
PHP x JavaScript
PHP x ASP
O que vem a ser o PHP?
O PHP (Hipertext Preprocessor) uma linguagem de script voltada para o
desenvolvimento de pginas dinmicas para a internet de fcil uso e
aprendizagem, permitindo ao programador inserir seus comandos
diretamente nos cdigos HTML de uma pgina.

O PHP oferece suporte de conexo com diversos bancos de dados, tais
como: MySql, Oracle, Sybase, Dbase, PostgreSQL etc.

Outra grande vantagem ao ser comparado com outras linguagens, tais
como: ASP e ColdFusion , a possibilidade de ser executado em diversos
sistemas operacionais (Multiplataforma) como Linux, Windows, Unix,
OS/2, Macintosh, NT etc., alm de permitir mudanas de plataforma com
nenhuma ou pouqussimas alteraes em seus cdigos fontes.

Quanto custa o PHP?
O PHP distribudo sobre GPL ( Licena
Pblica Geral), ou seja voc no precisa pagar
nada para us-lo.
O que pode ser feito com PHP?
Basicamente, qualquer coisa que pode ser feita por algum programa
CGI pode ser feita tambm com PHP, como coletar dados de um
formulrio, gerar pginas dinamicamente .

PHP tambm tem como uma das caractersticas mais importantes o
suporte a um grande nmero de bancos de dados. Construir uma
pgina baseada em um banco de dados torna-se uma tarefa
extremamente simples com PHP.

Alm disso, PHP tem suporte a outros servios atravs de protocolos
como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda
possvel abrir sockets e interagir com outros protocolos.

Como surgiu o PHP?
Em 1994, Rasmus Lerdorf desenvolveu algumas ferramentas que tinham por
objetivo monitorar os visitantes de seu site por intermdio de um contador de
acesso, um livro de visitas e outros pequenos aplicativos. Era o incio do PHP
Personal Home Page tools (ferramentas para home page pessoal).
Um ano depois, Lerdorf aprimorou sua linguagem e incorporou ao PHP um
pacote para interpretao de formulrios (FI Form Interpretation) e algumas
ferramentas para acesso a banco de dados, passando o PHP a ser conhecido
como PHP-FI
Democraticamente, Lerdorf abriu o cdigo-fonte de sua linguagem, dando incio
a uma verdadeira avalanche de novos contribuintes ao PHP-FI.
Em 1997, o PHP-FI ganhou dois novos colaboradores de peso, Zeev Suraski e Andi
Gutmans, que reescreveram o interpretador, criando a verso 3.0. Deste ponto
em diante, o PHP3 deixa de ser Personal Home Page Tools para se transformar em
Hipertext Preprocessor.
Em maio de 2000, desembarca no mercado a verso 4 do PHP com muitas
novidades, como suporte a sesses, permitindo a identificao de usurios que
solicitam informaes em um site.
PHP x JavaScript
Uma das diferenas marcantes entre o PHP e o JavaScript
consiste em que os cdigos PHP so processados no servidor,
sendo apenas enviado ao cliente o HTML puro, ou seja o
usurio no tem acesso aos scripts embutidos no HTML, como
ocorre com o JavaScript que processa os dados no
computador do cliente. Este procedimento pode ser de
grande valia, quando estamos lidando com dados
confidenciais, senhas etc.

PHP x ASP
O PHP multiplataforma, podendo ser executado em
quase todos os sistemas operacionais, enquanto ASP
somente executado em sistemas operacionais da
Microsoft. Tambm podemos destacar que o acesso
banco de dados por intermdio do PHP feito de
forma mais simples do que o ASP.
Com relao a velocidade, o PHP
comprovadamente mais rpido que o ASP, alm de
possuir um gerenciamento de memria superior ao
do ASP.

O que so pginas estticas
Pginas dinmicas
Sintaxe bsica para um programa
em PHP
O cdigo PHP fica embutido no prprio HTML. O interpretador
identifica quando um cdigo PHP pelas seguintes tags:
Como enviar cdigos HTML dentro
de um script PHP
Variveis
As variveis contidas em um programa PHP so volteis e somente
existem enquanto um script estiver sendo executado, ou seja, ao se
mudar de uma pgina para outra elas deixam de existir, a menos
que sejam transferidas para a prxima pgina, ou definidas como
global;


Uma varivel pode armazenar somente um valor de cada vez.


Variveis
Por ser esta linguagem case-sensitive (sensvel a letras maisculas e
minsculas ), sendo A (maisculo) diferente de a (minsculo),
assim uma varivel de nome Contador diferente de contador .

Em PHP todas as variveis so obrigatoriamente iniciadas com o
smbolo $ (cifro), seguido pelo seu nome.

Exemplos vlidos : $contador, $_autor, $VALOR

Exemplos no vlidos : $5Valor, $titulo livro , $segundo.nome

Atribuio de valor
Para atribuir um valor a uma varivel, voc deve usar o sinal de =, seguido
pelo valor a ser armazenado.

Os valores alfanumricos (strings) a serem armazenados devem estar
sempre entre aspas ()
Valores numricos so armazenados sem o uso das aspas.

Em PHP voc no precisa definir uma varivel para us-la, como comum
em outras linguagens, basta atribuir um valor diretamente a ela, e a partir
deste instante ela ser automaticamente criada.
Exemplos:

$titulo = Programando em PHP;

$precolivro = 129.30;
PHP com uso de variveis
PHP com uso de variveis
Numricos
Numricos inteiros ou absolutos e nmeros fracionrios, tambm
conhecido como ponto flutuante.
Alfanumricos
Os dados alfanumricos, tambm conhecidos por strings, contm uma
cadeia de caracteres que podem ser simples letras ou palavras, at
frases inteiras.
Exemplos:
$A = 25;
$B = -1234;
$C = 78.56;
$D = -9.3245;
$E = Ol, como vai? ;
$F = 78.999;

Operadores Aritmticos
+ Adio
- Subtrao
* Multiplicao
/ Diviso
% Resto da diviso

Usando Operadores Aritmticos
Prioridades dos Operadores
A prioridade adotada nos clculos em PHP
segue de acordo com as mesmas regras
matemticas, ou seja, os clculos so
executados de acordo com a seguinte
ordem:

Parnteses => diviso => Multiplicao => Adio => Subtrao

Trabalhando com variveis
alfanumricas
Armazenando Strings
$A = Ol, Pessoal ! ;

$B = Rua Javali 3456 ;
Diferena entre as aspas simples e
aspas duplas
Seqncia de Escape
\n, \r Nova linha
\t Tabulao horizontal
\\ A prpria barra ( \ )
\$ O smbolo $
\ Aspa simples
\ Aspa dupla

Concatenar Strings
Como descobrir o comprimento de
uma string
Como eliminar espaos em branco
finais e iniciais de uma string
Como converter em letras
maiscula ou minscula
Como trabalhar com substrings
Trabalhando com array
Ministrante: Luiz Lins Monteiro Junior
E-mail: luizmagao@gmail.com
Trabalhando com arrays
<HTML>
<HEAD>
<TITLE> Curso PHP MySql </TITLE>
</HEAD>
<BODY>












</BODY>
</HTML>
Obs: Salvar com a extenso .php
<? // Vetor unidimensional
$hoje = date(w);

$diaSemana[0] = Domingo;
$diaSemana[1] = Segunda-feira;
$diaSemana[2] = Tera-feira;
$diaSemana[3] = Quarta-feira;
$diaSemana[4] = Quinta-feira;
$diaSemana[5] = Sexta_feira;
$diaSemana[6] = Sbado;
echo Hoje : <b> $diaSemana[$hoje] </b>;
?>
Prato do dia
Hoje Sbado
Nossa sugesto para hoje : Lasanha a quatro queijos
Preo : 12,20

Elemento Dia da semana Prato do dia Preo
0 Domingo Lasanha a quatro queijos R$ 12,60
1 Segunda-feira Frango ao molho madeira R$ 10,00
2 Tera-feira Arroz grega R$ 09,40
3 Quarta-feira Feijoada moda da casa R$ 11,20
4 Quinta-feira Nhoque paulista R$ 08,50
5 Sexta-feira Bacalhau ao forno R$ 15,20
6 Sbado Feijo branco R$ 10,00
Listas
Objetos
Booleanos
0 falso (false)
Outro valor 0 verdadeiro (true)

Ex.:
0 == falso
1 == verdadeiro
-2 == verdadeiro

Constantes
Operadores Aritmticos
+ adio
- subtrao
* multiplicao
/ diviso
% mdulo
++ incremento
-- decremento

Operador Alfanumrico
. Operador de concatenao
Operadores de atribuio
= atribuio simples
+= atribuio com adio
-= atribuio com subtrao
*= atribuio com multiplicao
/= atribuio com diviso
%= atribuio com mdulo
.= atribuio com concatenao
Usando Operadores de Atribuio
Formulrios
Toda seo de uma pgina que contenha um formulrio deve sempre estar entre as tags
<FORM> ...</FORM>
A tag <FORM> contm uma srie de atributos, sendo que os mais importantes so:
ACTION => Informa ao servidor a pgina que deve ser carregada, assim que o usurio
clicar sobre o boto enviar contido no formulrio.
Method => Este atributo controla como as informaes contidas no formulrio devem ser
enviadas ao servidor.
Existem os mtodos GET e POST
GET => acrescenta URL um ponto de interrogao (?) seguido por todos os nomes
dos campos ex. http://www.phb.fap.com.br/formulario.php?txtnome=tim
POST => Transmite as informaes de um modo invisivel, ou seja no as insere na
URL mas sim no corpo da requisio HTML, alm de permitir uma quantidade maior
de informaes a ser passada de uma pgina para outra.
Ex. http://www.phb.fap.com.br/formulario.php, ele no apresenta o contedo.
Principais controles do HTML que so usados na
coleta de dados em um formulrio
Caixa de texto de uma linha (TEXT);
Caixa de texto de rolagem (TEXTAREA);
Caixa de seleo (CHECKBOX);
Boto de radio (RADIO);
Menu suspenso (SELECT e OPTION);
Boto de envio (SUBMIT).

Caixa de texto de uma linha
Cdigo HTML
Caixa de texto de uma linha
Cdigo PHP
Boto de opo (RADIO)
Cdigo HTML
<HTML>
<HEAD>
<TITLE> Formulrio com boto de radio </TITLE>
</HEAD>
<BODY>
Qual o seu estado civil ?







</BODY>
</HTML>
Obs: Salvar com a extenso .htm


<form Method = POST Action = civil.php>
<input type=radio name=opcao value=Casado >Casado<br>
<input type=radio name=opcao value=Solteiro >Solteiro<br>
<input type=radio name=opcao value=Vivo >Vivo<br>
<input type=radio name=opcao value=Separado >Separado<br>
<input type=submit value=Enviar>
</form>
Boto de opo (RADIO)
Cdigo PHP
<HTML>
<BODY>





</BODY>
</HTML>

Obs: Salvar como civil.php


<?
echo Seu estado civil : $opcao ;
?>
A instruo condicional IF

<HTML>
<BODY>








</BODY>
</HTML>

Obs: Salvar com a extenso .php

<?
$valor = 5;
If ($valor == 5) {
echo A varivel valor : $valor;
}
?>
Instruo condicional switch
<?
$valor = 2;
switch ( $valor ) {
case 1 :
echo Primeiro valor;
break;
case 2 :
echo Segundo Valor ;
break;
default :
echo Valor maior que 2 ;
break;
}
?>
Operadores Relacionais


op1 == op2 Verdadeiro se op1 for igual a op2
op1 > op2 Verdadeiro se op1 maior que op2
op1 < op2 Verdadeiro se op1 menor que op2
op1 >= op2 Verdadeiro se op1 maior ou igual a op2
op1 <= op2 Verdadeiro se op1 menor ou igual a op2
op1 != op2 Verdadeiro se op1 diferente de op2
Operadores lgicos


&&
Verdadeiro se uma expresso A e uma
expresso B forem verdadeira
and
Verdadeiro se uma expresso A (AND) e
uma expresso B forem verdadeira
||
Verdadeiro se uma expresso A ou uma
expresso B forem verdadeira
or
Verdadeiro se uma expresso A ou (OR) uma
expresso B forem verdadeira
!op1
Ser considerado verdadeiro se o valor de
op1 for falso
Exerccio

Escreva uma pgina com os seguintes campos de formulrio:
Nome
Endereo
Idade
Sexo
Escreva um programa em php para receber os valores do
formulrio acima e apresentar na tela o nome,endereo e
verificar se a idade for maior que 18 anos ,mostrar a mensagem :
Minha idade : XX, caso contrrio a mensagem : Menor de
idade .
Exerccio: Senha
Faa um formulrio com entradas para Nome
de Usurio e Senha e um boto Entrar.
Esse formulrio ser interpretado pela pgina
pagina_protegida.php que dever exibir uma
mensagem de boas vindas para o usurio
citando o seu cargo, ou uma mensagem de
erro caso a senha ou o nome de usurio
estejam incorretos.
Trabalhando com Loop
Instruo while e do-while

Trabalhando com Loop

Trabalhando com Loop
Instruo for

Quebra de Fluxo
break
Usado em laos for, while, do...while e switch.
Interrompe imediatamente a execuo do
lao.

continue
Semelhante ao break, mas ao invs de sair do
lao, volta pro incio dele.
Exerccio
Utilize uma estrutura de repetio para gerar
tags <Hx>.
Ex.:
Letra H1
Letra H2
Letra H3
Letra H4
Letra H5

Exerccios
Fazer a tabela Prato do Dia utilizando a
estrutura de repetio For.
Exerccio: Formatao via formulrio
Crie um formulrio com os seguintes itens:
Uma caixa de texto
Trs Checkbox para Itlico, Negrito e Sublinhado
Um Select com opes de alinhamento
Um select com opes de cor
Uma caixa de texto para digitar o nmero de
repeties.
Um select com nmeros correspondentes ao
tamanho.

Exerccio: Calculadora
Fazer uma calculadora simplificada.
A calculadora possuir:
Dois campos onde sero digitados os termos
Um seletor tipo Radio com as operaes
bsicas
Um boto Calcular que ser usado para
realizar o clculo
O resultado deve ser apresentado na mesma
pgina do formulrio.
Funes
















1. O emprego das funes permite estruturar
um programa de modo bem mais eficiente e
produtivo, pois garante a criao de
pequenas sees de cdigo que podem ser
reutilizadas a qualquer momento

2. Podemos definir uma funo como sendo um
pequeno programa, inserido em seu
programa principal, que pode ser chamado a
qualquer instante para executar um
determinada operao.


Sintaxe para declarao de funes
function nome_da_funo($arg1, $arg2, $arg3)
{
Comandos;
...
return <valor de retorno>;
}
Retorno
No obrigatrio
Pode-se retornar qualquer tipo de dados,
inclusive vetores.
Sintaxe:
return valor;
Argumentos
Devem ser declarados dentro dos parnteses
No precisa especificar o tipo
Ex.:
function imprime($texto)
{
echo $texto;
}
imprime("teste de funes");
Passagem de parmetros por
referncia
Utiliza-se o caracter & antes do nome do parmetro.
Pode ser utilizado na declarao da funo ou na
chamada da funo.
Ex.:
function mais5(&$num1, $num2)
{
$num1 += 5;
$num2 += 5;
}
mais5($a, &$b);

Argumentos com valores pr-definidos
Ex.:
function teste($php = "testando")
{
echo $php;
}
teste(); // imprime "testando"
teste("outro teste"); // imprime "outro teste"
Escopo
$php = "Testando";
function Teste()
{
echo $php;
}
Teste();
$php = "Testando";
function Teste()
{
global $php;
echo $php;
}
Teste();
Funes - Exemplos















<HTML>
<BODY>














</BODY>
</HTML>
Obs: Salvar com a extenso .php


<?
function comissao($valor)
{
$valor = $ valor * 0.06;
return $valor;
}
echo Ana vendeu R$ 25000, sua comisso : R$ . comissao(25000);
echo <br>;
echo Carolina vendeu R$ 34680, sua comisso : R$ . comissao(34680);
}
?>
Exerccio: Cumprimento
Fazer uma funo que retorna uma string de
cumprimento: Bom dia, boa tarde, boa noite
dependendo da hora em que ele acessa a
pgina.

Dica: A funo date(H) retornar a hora do
dia.
Exerccio: Data por extenso
Fazer uma funo que retorne a data atual no
formato do exemplo abaixo:
Domingo, 29 de abril de 2006

Dica: Para inicializar os arrays usar listas.
Ex.: $x = array(1 => valor1, 2 => valor2...)
Variveis
Modificador Static
Cria uma varivel local, porm seu valor no
ser perdido ao sair da funo.

Ex.:

function Teste()
{
$a = 0;
echo $a;
$a++;
}
function Teste()
{
static $a = 0;
echo $a;
$a++;
}
Variveis Variveis
$a = "teste";
$$a = "Mauricio Vivas";

O exemplo acima e equivalente ao seguinte:
$a = "teste";
$teste = "Mauricio Vivas";
Variveis de Ambiente
Ex.:
$_SERVER*PHP_SELF+
$_SERVER*REQUEST_URI+

phpinfo( );
Obter o tipo da varivel
gettype($x);
Retorna: "integer", "double", "string", "array",
"object" e "unknown type"

is_int( ), is_integer( ), is_real( ), is_long( ),
is_float( ), is_string( ), is_array( ) e is_object( )
Outras operaes
unset($x); //Destri a varivel
isset($x); //Verifica se a varivel existe
empty($x); //Verifica se a varivel tem um
valor diferente de 0 ou ;
Classes e Objetos
class Nome_da_classe {
var $variavel1;
var $variavel2;
function funcao1 ($parmetro) {
/* === corpo da funo === */
}
}
Objetos
Sintaxe para criao de objetos:
$varivel = new nome_da_classe;
Para utilizar as funes definidas na classe,
deve ser utilizado o operador "->", como no
exemplo:
$variavel->funcao1();
A varivel $this
Quando for necessrio fazer chamadas a
funes do prprio objeto utilizamos a
varivel $this.
Exemplo usando $this
class conta
{
var $saldo;
function saldo() {
return $this->saldo;
}
function credito($valor) {
$this->saldo += $valor;
}
}
$minhaconta = new conta;
echo $minhaconta->saldo() . '<br>';
$minhaconta->credito(50);
echo $minhaconta->saldo(); // retorna 50
Sub-Classes
Exemplo de subclasses:
class novaconta extends conta
{
var $numero;
function numero() {
return $this->numero;
}
}
$outraconta = new novaconta;
$outraconta->numero = 123456;
echo $outraconta->numero();
Construtores
Um construtor uma funo definida na classe
que automaticamente chamada no
momento em que a classe instanciada
Exemplo de Construtores
class conta {
var $saldo;
function conta () {
$this->saldo = 0;
}
function saldo() {
return $this->saldo;
}
function credito($valor) {
$this->saldo += $valor;
}
}
Cookies
Cookies so mecanismos para armazenar e consultar
informaes nos browsers dos visitantes da pgina.
O PHP atribui cookies utilizando a funo setcookie,
que deve ser utilizada antes da tag <html> numa
pgina.
No use cookies para acessar informaes sigilosas. Os
dados dos cookies so armazenados no diretrio de
arquivos temporrios do visitante, sendo facilmente
visualizado por pessoas mal intencionadas.
Ateno para a opo "aceitar cookies" que pode ser
desativada a qualquer momento pelo visitante.
setcookie
Setcookie("nome_cookie","seu_valor","tempo_
vida")
Cookies: Exemplo
<?
$valor = 'Texto armazenado no cookie';
setcookie("TesteCookie", $valor, time()+3600);
?>

<?
echo $_COOKIE["TesteCookie"];
?>
A partir de agora qualquer pgina do site ter acesso a
$_COOKIE["TesteCookie"];
Sesses
Sesses so mecanismos parecidos com os
cookies.
Suas diferenas so que sesses so
armazenadas no prprio servidor e no
expiram.

Cookie => Computador do usurio
Session => Servidor
Sesses: Exemplo 1.1
<?
session_start();
?>

<?
echo 'Bem vindo pagina 1';

$_SESSION*cor'+ = 'verde';
$_SESSION['animal'] = 'gato';
$_SESSION*acesso'+ = time();

echo '<br><a href="pagina2.php">Pgina 2</a>';

?>
Sesses: Exemplo 1.2
<?
session_start();

?>

<?
echo 'Bem vindo a pagina 2<br>';

echo $_SESSION['animal'] . '<br>'; // gato
echo $_SESSION*cor'+; // verde
echo date('d/m/Y H:i:s', $_SESSION*acesso'+);

echo '<br /><a href="pagina1.php">Pagina 1</a>';
?>
Sesses: Exemplo 2.1
Contador de visitas
<?
session_start();
if (!isset($_SESSION['contador'])) {
$_SESSION['contador'] = 0;
} else {
$_SESSION['contador']++;
}
?>
Sesses: Exemplo 2.2
<?php
session_start();
unset($_SESSION['contador']);
?>
Sesses: Exemplo 3.1
<?
session_start();

$autoriza = 0;

if (isset($_SESSION['usuario'])) {
$autoriza = 1;
else {
$usuario = $_GET['usuario'];
$senha = $_GET['senha'];
if (($usuario == 'fulano') && ($senha == '123'))
$autoriza = 1;
}

if (!$autoriza)
echo "Voc deve fazer login.";
else
echo "Voc acessou a pgina com sucesso";
?>


Include e Require
A funo require() pe o contedo de um outro
arquivo no arquivo php atual, antes de ser
executado. Quando o interpretador do PHP ler este
arquivo, ele encontrar todo o contedo dos
"requires" adicionado no arquivo corrente.

A funo include() semelhante funo require(),
com a diferena que o cdigo do arquivo includo
processado em tempo de execuo,
Exemplos
require ("arquivo.php");

include("arquivo.php");



BANCO DE DADOS
















MySQL

Vous aimerez peut-être aussi