Você está na página 1de 28

Prof.

Carlos Majer Aplicaes Corporativas UNICID


Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicaes Corporativas da
Universidade Cidade de So Paulo UNICID

Licena de Uso
Este trabalho est licenciado sob uma Licena Creative Commons Atribuio-Vedada a Criao de Obras
Derivadas 2.5 Brasil. Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/bynd/2.5/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
USA.
Este material no pode ser alterado. Para maiores informaes envie um e-mail para
cmajer@uol.com.br ou cmajer@ig.com.br.

PHP

PHP: Hypertext Processor


<html>
<head>
<title>PHP</title>
</head>
<body>
<h1>PHP</h1>
<p>UNICID tem <?php echo strlen('UNICID') . ' letras';?> </p>
</body>
</html>

Introduo
Um SCRIPT um conjunto de instrues ou comandos, tambm chamado de programa, baseados numa
determinada linguagem (PHP, Javascript, etc), que executam certas operaes.
Agindo geralmente de forma automtica, estes programas caracterizam-se por sua necessidade de
interpretao por um software (em geral um servidor web ou navegador), diferentemente dos programas
que precisam ser compilados e ligados (link-editados). Conforme o tipo de script, ele pode ser executado no
servidor ou no micro cliente.

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID


O PHP caracteriza-se por ser uma linguagem de script. Ela supre uma necessidade que existe na linguagem
baseada em marcas HTML, principalmente no que diz respeito s limitaes que advm do carter esttico
do HTML.
A linguagem PHP open source, o que significa que pode ser utilizada sem o pagamento de royalties
terceiros. Ela caracteriza-se por ser uma linguagem que primeiramente executada (processada) num
servidor web (computador que roda um ambiente que recebe solicitaes para acesso s pginas HTML)
para em seguida disponibilizar a pgina resultante ao usurio solicitante.
Resumindo, a pgina PHP no executada no navegador do usurio e sim no servidor onde a mesma est
hospedada.

 Seu navegador no entende PHP. Apenas HTML, algumas linguagens de script (Javascript, Vbscript,

etc) e CSS
Enquanto as pginas HTML provm limitada funcionalidade, a insero do PHP expande os limites desta
tecnologia, trazendo grande nmero de vantagens e amadurecendo o desenvolvimento atravs de
programao dinmica.
O PHP tem evoludo constantemente e traz cada vez mais facilidades no desenvolvimento de sites.
Atualmente, diversas bibliotecas foram disponibilizadas ao PHP contribuindo para enriquecer esta linguagem.
PHP muito utilizado para manipulao de banco de dados, processamento dinmico, manipulao de
imagens, dentre outras possibilidades.

Funcionamento
O desenvolvedor pode criar uma pgina feita toda em PHP ou mescl-la com HTML, ou seja, inserindo
comandos dentro do HTML.
A linguagem PHP pode ento ser embutida dentro do cdigo HTML e o servidor PHP processa apenas o
cdigo PHP (ignorando o HTML), inserindo o resultado deste processamento no lugar dos comandos PHP
(em formato HTML), de forma a gerar uma pgina HTML final que ser enviada ao cliente (navegador do
usurio).
Esta pgina final a mesma dos comandos em HTML existentes anteriormente junto com o resultado
processado pelo servidor PHP.

Extrapolando Limites
Certos limites do HTML podem ser claramente verificados: Imagine a quantidade de trabalho necessria na criao das pginas de um grande conjunto de
informaes, como por exemplo, um catlogo de peas de uma grande empresa.
Alm de trabalhoso, tambm muito difcil controlar a manuteno deste conjunto de pginas,
especialmente quando existem diferentes regras de negcio aplicadas na exibio das pginas
Seria muito complexo efetuar uma mudana de contextos (exemplo: conforme login de usurio, site
apresentaria um conjunto de informaes para cliente e outro para administrador)

Formas de Utilizao
Um comando ou conjunto de comandos PHP deve ser inserido dentro das seguintes marcas especficas:-

1) Forma Tradicional:<?php comando php; ?>


Esta a forma mais tradicional e que os interpretadores iro entender.

2) Via marca de script:<script language="php"> comando php; </script>

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID


Esta outra forma que tambm aceita e corretamente interpretada.

3) Usando marca curta


<? comando php; ?>
 Conhecido como short tag, este um tipo de marca muito utilizado pelos desenvolvedores.
Para que o interpretador PHP consiga entender estas instrues, necessrio que o arquivo PHP.INI seja
devidamente configurado.
 Procure tambm por pela funo short_tags() e opo --enable-short-tags

4) Usando marcas de ASP


<% comando php; %>
A partir da verso 3.0.4 existe a possibilidade de se usar marca do tipo ASP.
 Para garantir a mxima portabilidade e funcionalidade, utilize o conjunto de marcas <?php

?>.

PHP e HTML
Uma vez criada, a pgina PHP armazenada no SERVIDOR. A pgina processada (interpretada) no
Servidor e o cdigo resultante em HTML enviado ao navegador.
O navegador recebe apenas o resultado do cdigo interpretado, ou seja, apenas aquilo que ele consegue
entender (HTML, Javascript, CSS, etc).

Exemplo:<html>
<head>
<title>Primeira Pagina PHP</title>
</head>
<body>
<?php
echo "Isto ser inserido na pgina HTML.";
?>
</body>
</html>
Ao encontrar a marca <?php, o PHP ir processar tudo at encontrar um ponto e virgula
o processamento PHP.

; , que finaliza

A marca de fechamento ?> opcional. Quando esta marca no inserida, o desenvolvedor pode incluir
outros arquivos (include/require) no cdigo PHP.
Outra forma de se iniciar um cdigo PHP atravs de sua forma curta
inserir o texto

<?, ou seja, no sendo necessrio

php.

Caixa Alta ou Caixa Baixa?


O desenvolvedor deve se preocupar com maisculos e minsculos, uma vez que o PHP sensvel a caixa.

Inserindo Comentrios
Comentar o cdigo uma atividade que todo desenvolvedor deve seguir. Para isto, o PHP prov a
possibilidade de comentrio por linha ou por bloco.

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID


Comentrio por linha:-

<?
# Esta linha um comentrio
echo 'Teste';
?>
Apenas o string 'Teste' ir aparecer.

Comentrio por bloco


/* Coloque os comentrios em bloco entre barra e asterisco, finalizando-os com asterisco e barra */

Tipos de Dados
Segue uma relao de alguns tipos de dados disponveis pelo PHP:-

Tipo

Domnio

Descrio

Booleano

TRUE ou FALSE

Utilizado para valores boleanos (verdadeiro ou falso)


* Verifique no manual do PHP, pois existem outras
possibilidades de definio do valor FALSE

Inteiro /
Longo

Conjunto Z
{..,-1, 0 , 1 , ..}
Em geral, 32 bits
(aproximadamente
2 bilhes)

Utilizado para valores inteiros. A diferena entre ambos


(inteiro e longo) o nmero de bytes utilizado para
armazenamento do valor, feito automaticamente pelo PHP.
* Verifique no manual do PHP como se definem nmeros em
outras bases (octais e hexadecimais)

Ponto
Flutuante

Mximo de
~1.8e308 com
preciso de 14
decimais digitais
(nmero de 64 bits
no formato IEEE).

Utilizado para valores com casas decimais e quando se trata de


um grande nmero inteiro (maior do que o tipo Inteiro pode
armazenar).
* Verifique no manual do PHP como se definir um nmero
flutuante com grande nmero de casas.

String

Cadeia de
String um conjunto de caracteres geralmente delimitados por
caracteres limitada apstrofos ou aspas.
pela memria.
* Se uma string for delimitada por aspas, voc conseguir
expandir o valor de uma varivel (desde que o PHP consiga
identificar corretamente esta varivel) ou caractere de escape.

Array

Vetor ou Matriz
contendo de 0 a
muitos elementos

Este tipo de objeto um vetor (quando tem uma nica


dimenso) ou matriz (quando tem mais do que uma dimenso).
Cada item numa array referenciado por um ndice, que pode
ser numrico ou string.

Variveis
A criao de variveis no PHP segue a seguinte regra: Todas as variveis devem ser precedidas do smbolo
$ (Dlar ou cifro). Em seguida deve vir uma letra ou o caractere de sublinhado, para em seguida qualquer

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID


letra, nmero ou caractere de sublinhado. Caso aps o sinal de $ se insira um nmero, esta varivel est
incorreta.
Exemplos:-

$ativo =FALSE;
$valor=1; // Nmero Inteiro
$valor2=-2; # Outro nmero inteiro
$valor=45.12; // Este um nmero de ponto flutuante
$nome='Carlos';
$texto='Isto um string';
$1teste=123; // Errado

Trabalhando com Formulrios


Quando criamos um formulrio numa pgina HTML estamos basicamente inserindo um conjunto de
diferentes objetos de formulrio, dentre eles: Caixas de Texto, de Senha
reas de Texto
Campos Escondidos
Botes de Checagem
Botes de Rdio
Listas de Seleo
Arquivos
Um uso muito comum do PHP ocorre quando precisamos gravar informaes de um formulrio numa tabela
de um banco de dados.

Criando o arquivo HTML


Para utilizarmos formulrios, precisamos inicialmente criar uma pgina em HTML, com os objetos de
formulrio que desejamos passar para a pgina PHP.
Exemplo TESTE1.HTM :-

<html>
<head>
<title>Teste de Formulrio</title>
</head>
<body>
<form name="f1" method="get" action="programa.php">
Nome: <input type="text" name="nome"> <br />
<input type="submit" value="Enviar">
</form>
</body>
</html>

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID

Mtodo de Envio - get


Desenvolvedor insere a marca form (que inicia o formulrio) e dentro dela informa o mtodo pelo qual os
objetos deste formulrio sero enviados para a pgina destino.
O mtodo get determina que as informaes dos objetos sejam expostas (e passadas) na rea de endereo
do navegador (onde o usurio digita o endereo da pgina que deseja acessar).
Exemplo:programa.php?nome=Carlos
Este mtodo tem algumas limitaes: O tamanho permitido pequeno. Algo em terno de 128 bytes
 As informaes ficam expostas
 No se consegue enviar arquivos (upload de arquivos).

Mtodo de Envio post


Como opo ao mtodo get, temos o mtodo post, que alm de no expor o contedo dos objetos de
formulrio na barra de endereos, permite tambm o envio de quantidade maior de informaes
(caracteres) alm do que tambm possibilita o envio (upload) de arquivos (verificado posteriormente).
Exemplo:-

<form name="f1" method="post " action="programa.php">

Pgina Destino action


O desenvolvedor informa qual a pgina que ir receber os objetos do formulrio atravs do atributo action.
neste local que iremos informar o nome da pgina PHP.

<form name="f1" method="get" action="programa.php">


Podemos utilizar dois tipos de referncia ao arquivo que ir receber os objetos do formulrio: Atravs de sua URL
 Atravs de uma posio relativa
Quando utilizamos uma URL, devemos informar o caminho completo para se chegar pgina.
Exemplo:http://www.dominio.com.br/pasta/programa.php
O que inserido dentro do comando ficaria:-

<form name="f1" method="get"


action="http://www.site.com.br/pasta/programa.php">
Para utilizarmos um caminho relativo, devemos verificar onde a pgina destino est localizada, em relao
pgina que est chamando-a.
Exemplo:Supondo que a pgina HTML chama-se TESTE1.HTM e est no mesmo diretrio (dentro do site) que a
pgina programa.php. Neste caso, o desenvolvedor pode informar apenas o nome da pgina (arquivo)
destino que o servidor far esta busca localmente (internamente).
Caso a pgina programa.php estivesse numa pasta de nome programas, abaixo do diretrio onde
TESTE1.HTM se encontra, ento o caminho para acesso pgina PHP seria:programas/programa.php
O que inserido dentro do comando ficaria:-

<form name="f1" method="get" action="programas/programa.php">

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID

Inserindo objetos dentro do formulrio


O prximo passo seria inserir os objetos no (dentro do / abaixo do) formulrio.
No exemplo acima, estamos inserindo dois objetos: Um campo do tipo entrada/caixa de texto, cujo nome (atributo name) nome
 Um boto de submisso do formulrio, obrigatrio para enviar o formulrio sua pgina destino
(action)
 Caso o desenvolvedor no informe o atributo name, o objeto no pode ser reconhecido pelo PHP
Em seguida, o desenvolvedor fecha o formulrio atravs do encerramento da marca </form>, bem como
encerra as marcas de corpo </body> e de pgina HTML </html>
Neste momento, o desenvolvedor tem a pgina que ser a responsvel pela criao dos objetos em seu
navegador e que ir enviar estes objetos de formulrio para a pgina destino.
 De preferncia, salve esta pgina HTML num local (pasta/diretrio) onde exista um servidor web

instalado (Exemplo: Apache).

Criando o arquivo PHP


Neste momento hora de preparar o arquivo PHP que ir receber os objetos de formulrios, que esto
vindos da pgina HTML.
Para isto importante que se entendam algumas consideraes bsicas do PHP.

Recebendo variveis no PHP advindas de um formulrio


No PHP, as variveis advindas de um formulrio HTML so armazenadas em duas matrizes:$_GET
$_POST
Para acessar estas matrizes, o usurio dever utilizar a seguinte sintaxe:-

$_POST["<nome do objeto>"]
$_GET["<nome do objeto >"]
Exemplo:-

echo $_GET["cidade"];
$nome = $_POST["nome"];
Algo muito comum em PHP criar variveis que iro armazenar os valores advindos dos objetos de
formulrios PHP. Exemplo:-

$nome = $_POST["nome_cliente"];
$telefone = "(" . $_POST["ddd"] . ") " . $_POST["telefone"];

Recebendo objetos do tipo textbox, password e hidden


Basicamente, o que acaba sendo enviado para o PHP o string contido dentro deste tipo de objeto.
 Objeto do tipo password igual ao elemento do tipo textbox, sendo que ao ser digitado seu

contedo, asteriscos iro aparecer no lugra das letras.


 Objeto do tipo hidden (escondido) mantm o seu valor, mas no exibido ao usurio na pgina

HTML (tela do navegador)

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID

Recebendo objetos do tipo checkbox


Quando configuramos um objeto do tipo checkbox dentro de um formulrio, ele poder ou no ser
enviado, para a pgina destino (action) mediante o seu valor.
Quando um objeto deste tipo no est checado na pgina HTML, ele simplesmente no enviado para a
pgina destino. Sendo assim, se o desenvolvedor tentar acessar/checar seu valor na matriz $_GET ou
$_POST, ele recebe um erro de execuo, porque este objeto no existe (no foi enviado).
Exemplos:Chamada da pgina PHP sem checar o objeto:http://localhost/TipoCheck.php?
Chamada da pgina PHP checando o objeto:http://localhost/TipoCheck.php?ativo=on
Ou quando o desenvolvedor checa o objeto e informa seu atributo value:http://localhost/TipoCheck.php?ativo=SIM
Quando o objeto checado, o formulrio PHP pode se deparar com dois possveis valores:on  o valor padro que enviado pelo formulrio, quando o desenvolvedor no utilizou o atributo value
do objeto checkbox.
O segundo valor o que o desenvolvedor declarou no atributo value do objeto.

<input type="checkbox" id="ativo" name="ativo" value="SIM">

Recebendo objetos do tipo radio


O objeto do tipo radio funciona de maneira similar ao objeto checkbox.
Este tipo de objeto geralmente utilizado para se escolher uma opo exclusiva, dentro outras.
Para isto cria-se um conjunto de diversos objetos do tipo radio com o mesmo nome (name), mas com
valores (value) diferentes.
Se o desenvolvedor no deixa nenhum dos objetos checado (selecionado) por padro, ele corre o risco do
usurio no selecionar um dos objetos e desta forma ele precisar verificar no PHP se o objeto est setado.

Detalhes de recebimento de objetos do tipo checkbox e radio


Alguns objetos de formulrio, quando no so selecionados (checados) na pgina HTML, simplesmente no
so enviados para a pgina destino (PHP). Se o objeto no enviado, isto significa que ele no existe e
desta forma, qualquer tentativa para acessar seu contedo resultar em erro na execuo da pgina. Para
evitar este tipo de problema, o desenvolvedor pode tomar duas aes:1) Utilizar o atributo checked na criao de um dos elementos do grupo
2) Utilizar a funo isSet que verifica se um objeto foi enviado (e desta forma existe)

Recebendo objetos de uma Lista


Quando o desenvolvedor cria uma lista na pgina HTML, o que enviado para o PHP vai depender do
atributo value das opes desta lista.
Caso o desenvolvedor no tenha informado a opo value, o que ir ao PHP ser o texto do item inserido.
Caso o atributo value tenha sido informado, ento este o valor que ser enviado ao PHP.
Exemplo:http://localhost/TipoLista.php?estCivil=Separado&estCivil2=Solteiro&estCivil3=S

Recebendo objetos Listas com mltiplos valores


Para se trabalhar com lista de mltiplos valores, o usurio dever habilitar o atributo multiple da lista, na
pgina HTML. Ser conveniente tambm que ele defina o tamanho visual da lista atravs do atributo size.
Para se trabalhar com mltiplos valores numa lista, o atributo name dever ser uma matriz, ou seja, o
desenvolvedor deve colocar o nome da matriz seguido de []. Isto far com que o PHP interprete o objeto

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID


como um vetor, inserindo os valores que recebe neste objeto, possibilitando o acesso a todos os valores
escolhidos pelo usurio. Exemplo:-

<select name="carros2[]" id="carros2[]" multiple size="4">


No programa PHP, o desenvolvedor poder utilizar a estrutura de lao de repetio for, em conjunto com a
funo sizeof (que retorna o tamanho de um vetor/matriz) para poder acessar todos os itens do vetor/matriz
recebido. Exemplo:-

$tam=sizeof($_GET['carros']) ;
for($n=0 ; $n< $tam ; $n++)
{
echo $_GET['carros'][$n] . '<br>';

Recebendo objeto do tipo arquivo (upload)


Para enviar arquivos de um formulrio HTML, o desenvolvedor deve executar os seguintes passos:1) Utilizar o atributo method com o valor post, para assegurar-se de que no ter problemas com o
tamanho do arquivo a ser enviado
2) Utilizar o atributo enctype com o valor multipart/form-data prevendo
O atributo enctype lida com a forma pela qual o contedo ser transmitido de uma ponta a outra. Seu valor
padro application/x-www-form-urlencoded e o mais utilizado para os diversos tipos de envio de
dados, com exceo quando se envia um arquivo. Neste caso, para enviar um arquivo, o desenvolvedor
deve escolher o valor multipart/form-data para o atributo enctype.
Exemplo:-

<form action="TipoArquivo.php" method="post" name="F1"


enctype="multipart/form-data">
Escolha o arquivo<br>
<input type="file" id="arquivo" name="arquivo">
<input type="submit" value="Enviar">
</form>
Quando o servidor recebe o formulrio, os dados podem ficar na matriz $_GET ou $_POST, mas quando se
recebe arquivos (upload), suas informaes ficam na varivel $_FILES, que a matriz que mantm os
dados de arquivos recebidos.
 Para verses anteriores do PHP, a matriz que recebe tais valores a $HTTP_POST_FILES.
As seguintes informaes podem ser acessadas: ["nome do arquivo"] ["name"]  Nome do arquivo
 ["nome do arquivo"] ["size"]  Tamanho do arquivo, em bytes
 ["nome do arquivo"] ["type"]  Tipo do arquivo
 ["nome do arquivo"] ["tmp_name"]  Nome da pasta de armazenamento temporria do arquivo
Ao final do processamento do script PHP, o arquivo existente na pasta temporria simplesmente eliminado.

Movendo o arquivo para sua pasta final


O arquivo que recebido armazenado numa pasta temporria at o termino de execuo do script PHP.
Assim que o mesmo finalizar, este arquivo (temporrio) eliminado.
Nossa tarefa, como desenvolvedor transferir o arquivo pasta de arquivos recebidos antes do trmino da
execuo do script PHP. Para isto, utilizamos a funo move_uploaded_file().

Apostila de Introduo ao PHP

Pgina

Prof. Carlos Majer Aplicaes Corporativas UNICID

if (move_uploaded_file($_FILES['arquivo']['tmp_name'], 'uploads/'
. _FILES['arquivo']['name']))
echo "Arquivo ". basename( $_FILES['arquivo']['name']). "
recebido com sucesso";
else
echo "Houve algum problema no recebimento do arquivo";
Para restringir o tipo de arquivo a ser recebido, verifique o elemento type da matriz. Exemplo:-

if ($_FILES["arquivo"]["type"] != 'image/jpeg')
echo "Tipo invlido de arquivo";
 A pasta destino do arquivo j dever existir.
Contedo do Arquivo TipoArquivo.php:-

<body>
<h1>PHP - Recebe Arquivo</h1>
<?php
if ($_FILES["arquivo"]["error"]>0)
echo "Erro: " . $_FILES["arquivo"]["error"] . "<br>";
else
{
echo "Nome do Arquivo: "
.
$_FILES["arquivo"]["name"] . "<br>";
echo "Tamanho: "
.
$_FILES["arquivo"]["size"] . "<br>";
echo "Tipo: "
.
$_FILES["arquivo"]["type"] . "<br>";
echo "Pasta de Armazenamento:"
.
$_FILES["arquivo"]["tmp_name"] . "<br>";
// Parte 2
$pasta_destino = "uploads/";
$pasta_destino .= $_FILES["arquivo"]["name"];
if (move_uploaded_file($_FILES["arquivo"]["tmp_name"] ,
$pasta_destino))
echo "Arquivo <strong>" . $_FILES["arquivo"]["name"]
. "</strong> recebido com sucesso";
else
echo "Ocorreu algum erro no recebimento do Arquivo "
. $_FILES["arquivo"]["name"];
}
?>
</body>

Configurando o PHP.INI
Algumas configuraes do PHP.INI so importantes para que o upload de arquivos funcione de forma
adequada.

Apostila de Introduo ao PHP

Pgina

10

Prof. Carlos Majer Aplicaes Corporativas UNICID


Uma delas a seo file_uploads que deve estar com o valor On ou 1 para receber arquivos

file_uploads = On
Outra o nome do diretrio temporrio que armazenar os arquivos recebidos (se no for especificado
utilizar o padro do sistema):-

upload_tmp_dir = "${path}\tmp\"
O tamanho mximo de um arquivo pode ser definido pela diretiva abaixo:-

upload_max_filesize = 2M
Caso deseje precaver o usurio de enviar um arquivo de tamanho maior que o
desejado, o desenvolvedor pode inserir um campo de nome MAX_FILE_SIZE definindo
em seu atributo value o tamanho mximo de um arquivo. Exemplo:-

<input type="hidden" name="MAX_FILE_SIZE" value="150000">

Apostila de Introduo ao PHP

Pgina

11

Prof. Carlos Majer Aplicaes Corporativas UNICID

Arrays
Array o nome ingls para um tipo de objeto composto por uma coleo de dados. Esta coleo de dados,
que pode ser de uma dimenso (vetor) ou de vrias dimenses (matrizes), pode conter diferentes tipos de
dados.
Irei utilizar a denominao matriz (es) para referenciar este tipo de objeto.

Criando Matrizes
Uma das formas de se cri-las atravs da funo array(). Exemplo:-

$carros= array("Polo", "Fiesta","Mercedes");


print_r($carros); // A funo print_r serve para relacionar os valores de uma
matriz num formato inteligvel pelo ser humano
Resultado
Array ( [0] => Polo [1] => Fiesta [2] => Mercedes )
Notem que o PHP inseriu automaticamente os valores dentro da matriz utilizando ndices numricos
seqenciais.

Referenciando uma Matriz atravs de chaves


Outra forma de se referenciar um item de uma matriz atravs de uma chave, ou seja, um nome entre
aspas que identifica um item especfico da coleo.
Exemplo:-

<?php
$frutas = array ('a' => 'Abacate', 'b' =>'Banana','c' =>
'Carambola');
print_r ($frutas);
?>
Resultado:Array ( [a] => Abacate [b] => Banana [c] => Carambola )
Podemos definir um ndice inicial para insero de itens numa matriz.
Exemplo de Meses:-

<?php
$meses = array(7 => 'Janeiro', 'Fevereiro', 'Maro', 'Abril',
'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro',
'Novembro', 'Dezembro');
print_r($meses);
?>

Apostila de Introduo ao PHP

Pgina

12

Prof. Carlos Majer Aplicaes Corporativas UNICID


Resultado:Array ( [7] => Janeiro [8] => Fevereiro [9] => Maro [10] => Abril [11] => Maio
[12] => Junho [13] => Julho [14] => Agosto [15] => Setembro [16] => Outubro [17]
=> Novembro [18] => Dezembro )
Uma item de uma matriz pode ter mais do que uma dimenso:-

<?php
$frutas = array ('c' => 'Carambola', 'b' =>'Banana', 'a' =>
array ('Abacate', 'Abacaxi', 'Ameixa'));
print_r ($frutas);
?>
Resultado:Array ( [c] => Carambola [b] => Banana [a] => Array ( [0] => Abacate [1] =>
Abacaxi [2] => Ameixa ) )
Alguns exemplos:-

Arquivo Carros.php
Matriz 1 - Carros
<html>
<head>
<title>Matriz de Carros</title>
</head>
<body>
<?php
$carros= array("Polo", "Fiesta","Mercedes");
print_r($carros);
?>
</body>
</html>

Arquivo Frutas.php
<html>
<head>
<title>Matriz de Frutas</title>
</head>
<body>
<?php
$frutas = array ('a' => 'Abacate', 'b' =>'Banana','c' =>
'Carambola');
print_r ($frutas);
?>
</body>
</html>

Arquivo Frutas2.php
<html>
<head>

Apostila de Introduo ao PHP

Pgina

13

Prof. Carlos Majer Aplicaes Corporativas UNICID

<title>Matriz 2</title>
</head>
<body>
<?php
$frutas = array ('c' => 'Carambola', 'b' =>'Banana', 'a' =>
array ('Abacate', 'Abacaxi', 'Ameixa'));
print_r ($frutas);
?>
</body>
</html>

Arquivo Deptos.php
<html>
<head>
<title>Matriz de Departamentos e Empregados</title>
</head>
<body>
<?php
$departamento[0]
$departamento[1]
$departamento[2]
$departamento[3]

=
=
=
=

"financeiro";
"producao";
"rh";
"comercial";

$empregados["financeiro"] = 5;
$empregados["producao"] = 32;
$empregados["rh"] = 3;
$empregados["comercial"] = 15;
print "Os departamentos da empresa so:-<br>";
foreach ($departamento as $d)
{
echo $d.'<br>';
}
?>
</body>
</html>

Arquivo Deptos2.php
<html>
<head>
<title>Matriz 2 de Departamentos e Empregados</title>
</head>

Apostila de Introduo ao PHP

Pgina

14

Prof. Carlos Majer Aplicaes Corporativas UNICID

<body>
<?php
$departamento[0]
$departamento[1]
$departamento[2]
$departamento[3]

=
=
=
=

"financeiro";
"producao";
"rh";
"comercial";

sort($departamento);
print "Os departamentos da empresa em ordem alfabtica so:-<br>";
foreach ($departamento as $d)
{
echo $d.'<br>';
}
rsort($departamento);
print "<br>Os departamentos da empresa em ordem reversa so:<br>";
foreach ($departamento as $d)
{
echo $d.'<br>';
}
?>
</body>
</html>

Arquivo Deptos3.php
<html>
<head>
<title>Matriz 3 de Departamentos e Empregados</title>
</head>
<body>
<?php
$departamento['C']
$departamento['D']
$departamento['A']
$departamento['B']

=
=
=
=

"financeiro (C)";
"producao (D)";
"rh (A)" ;
"comercial (B)";

sort($departamento);
print "Os departamentos da empresa em ordem alfabtica so:-<br>";
foreach ($departamento as $d)
{
echo $d.'<br>';

Apostila de Introduo ao PHP

Pgina

15

Prof. Carlos Majer Aplicaes Corporativas UNICID

}
arsort($departamento);
print "<br>Os departamentos da empresa em ordem da chave so:<br>";
foreach ($departamento as $d)
{
echo $d.'<br>';
}
?>
</body>
</html>

Arquivo Deptos4.php
<html>
<head>
<title>Matriz 4 de Departamentos e Empregados</title>
</head>
<body>
<?php
$departamento[0]
$departamento[1]
$departamento[2]
$departamento[3]

=
=
=
=

"financeiro";
"producao";
"rh";
"comercial";

$empregados["financeiro"] = 5;
$empregados["producao"] = 32;
$empregados["rh"] = 3;
$empregados["comercial"] = 15;
sort($departamento);
print "Os departamentos da empresa em ordem alfabtica so:-<br>";
for ($n=0;$n<sizeof($departamento);$n++)
{
echo 'Departamento ' . $departamento[$n].' tem ' .
$empregados[$n] . ' empregados <br>';
}
?>
</body>
</html>

Apostila de Introduo ao PHP

Pgina

16

Prof. Carlos Majer Aplicaes Corporativas UNICID

Arquivo Deptos5.php
<html>
<head>
<title>Matriz 5 de Departamentos e Empregados</title>
</head>
<body>
<?php
$departamento[0]
$departamento[1]
$departamento[2]
$departamento[3]

=
=
=
=

$empregados[0]
$empregados[1]
$empregados[2]
$empregados[3]

5;
32;
3;
15;

=
=
=
=

"financeiro";
"producao";
"rh";
"comercial";

sort($departamento);
print "Os departamentos e empregadosso:-<br>";
for ($n=0;$n<sizeof($departamento);$n++)
{
echo 'Departamento ' . $departamento[$n] .' tem ' .
$empregados[$n] . ' empregados <br>';
}
?>
</body>
</html>

Arquivo Meses.php
<html>
<head>
<title>Matriz de Meses</title>
</head>
<body>
<?php
$meses = array(7 => 'Janeiro', 'Fevereiro', 'Maro', 'Abril',
'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro',
'Novembro', 'Dezembro');
print_r($meses);
?>
</body>

Apostila de Introduo ao PHP

Pgina

17

Prof. Carlos Majer Aplicaes Corporativas UNICID

</html>

PHP e MYSQL
O PHP contm funes para acesso a diversos bancos de dados.
O MYSQL um dos bancos de dados mais utilizado por quem desenvolve PHP.
Irei relacionar as funes mais utilizadas nesta parte desta apostila.

Conectando a um servidor
O momento inicial e diramos primeiro passo para se recuperar informaes de um banco de dados MYSQL
a conexo com o servidor MYSQL.
Quando um usurio acessa o MYSQL, atravs de seu prompt em tela MS-DOS, ele informa uma linha de
comando similar seguinte:C:\MYSQL\BIN> mysql u usurio root p senha <ENTER>
Onde usurio a identificao de um usurio vlido no MYSQL e senha a senha deste usurio.
Logo aps uma instalao padro, o usurio root criado, podendo sua senha no ser cadastrada.
Exemplo:C:\MYSQL\BIN> mysql u root <ENTER>
O PHP permite o acesso ao MYSQL atravs de uma funo especfica para este fim.

Funo mysql_connect
Prottipo

mysql_connect( <Nome do Servidor> , <Usurio>, <Senha>);


1 Parmetro (Obrigatrio): Nome do Servidor,
2 Parmetro (Obrigatrio): Identificao do Usurio
3 Parmetro (Obrigatrio): Senha
Exemplo

$conexao = mysql_connect("localhost","root","");
Retorno
Esta funo retorna um objeto de conexo com o servidor ou FALSO caso no consiga conectar no servidor
informado.
Em caso de problemas ela seta o controle de erro interno do MYSQL que pode ser acessado pela funo
mysql_error() (explicado adiante)
Detalhe
No exemplo acima, esta funo conecta a mquina cliente ao Servidor MYSQL, de nome localhost, utilizando
a identificao de usurio root, com senha em branco.

Apostila de Introduo ao PHP

Pgina

18

Prof. Carlos Majer Aplicaes Corporativas UNICID


O resultado da conexo passado ao objeto de nome $conexao que tem seu valor setado em FALSO caso
no se consiga executar a conexo.
 Este o primeiro passo quando se deseja recuperar informaes de um banco de dados do MYSQL.

Funo mysql_select_db
Prottipo

mysql_select_db ( <Nome do Banco de Dados> , <Objeto de Conexao>);


1 Parmetro (Obrigatrio): Nome do Banco de Dados,
2 Parmetro (Opcional): Objeto de conexo com o Servidor
Exemplo

$banco = mysql_select_db("sistema",$conexao);
Retorno
Esta funo retorna um objeto de conexo com o Banco de Dados informado ou FALSO caso no consiga
conectar no banco de dados informado.
Em caso de problemas ela seta o controle de erro interno do MYSQL que pode ser acessado pela funo
mysql_error() (explicado abaixo)
Detalhe
No exemplo acima, esta funo conecta a mquina cliente ao Banco de Dados de nome sistema, que existe
no Servidor informado por $conexao.
Caso o usurio no informe o objeto de conexo ($conexao), o MYSQL utilizar a ltima conexo aberta com
o servidor (neste caso, com o localhost).
O resultado da conexo passado ao objeto de nome $banco que tem seu valor setado em FALSO caso no
se consiga executar a conexo.
 Este o segundo passo quando se deseja recuperar informaes de um banco de dados do MYSQL.
Voc tambm pode utilizar este comando e variar apenas o Servidor de Conexo, de forma a conectar em
mais do que um servidor, para troca de dados entre bancos de dados, por exemplo.

Funo mysql_query
Prottipo

$resultado = mysql_query(<String SQL> , <Objeto de Conexo>);


Exemplo

$comandoSQL="SELECT * FROM usuarios";


$resultado = mysql_query($comandoSQL,$conexao);
1 Parmetro (Obrigatrio): String SQL a ser executada pelo servidor,
2 Parmetro (Opcional): Objeto de conexo com o Servidor
Retorno
Esta funo retorna um objeto de resultado de query/pesquisa no Banco de Dados informado ou FALSO caso
no consiga executar a query no banco de dados informado.
Em caso de problemas ela seta o controle de erro interno do MYSQL que pode ser acessado pela funo
mysql_error() (explicado adiante)

Apostila de Introduo ao PHP

Pgina

19

Prof. Carlos Majer Aplicaes Corporativas UNICID


Detalhe
No exemplo acima, esta funo executa a query de seleo de todos os registros da tabela usuarios no
servidor apontado pelo objeto $conexao.
Caso o usurio no informe o objeto de conexo ($conexao), o MYSQL utilizar a ltima conexo aberta com
o servidor (neste caso, com o localhost).
O resultado da conexo passado ao objeto de nome $resultado que tem seu valor setado em FALSO caso
no se consiga executar a conexo.
No caso especfico deste exemplo que seleciona registros de uma tabela, o objeto $resultado conter os
nomes dos atributos (campos) da tabela usurios, bem como as linhas (registros) com seus valores.
 Este o terceiro passo quando se deseja recuperar informaes de um banco de dados do MYSQL.
Explicao Complementar
No exemplo aplicado acima, o contedo que este objeto ir armazenar ser todos os nomes de campos da
tabela usuarios, como tambm seus valores (linhas/registros).
Podemos abstrair um exemplo do contedo deste objeto da seguinte forma:Objeto $resultado ==>
[id varchar(40)] [senha varchar(40)] [nome varchar(50)]
[Majer] [123] [Carlos Majer]
[Ana] [abc] [Ana Travassos]
No exemplo acima, podemos entender que este objeto contm os nomes dos campos/atributos da tabela
usuarios (id, senha e nome), seus tipos e tamanhos. Este objeto tambm armazena os valores das duas
linhas (registros) encontradas na tabela, que neste caso so:{Majer, 123,Carlos Majer} e {Ana, abc, Ana Travassos}
O que foi explicado o contedo deste objeto.
Para recuperar estes valores, verifique explicao abaixo.

Funo mysql_num_rows
Prottipo

mysql_num_rows(<Objeto de Resultado de Consulta MYSQL>);


Exemplo

$numeroLinhas = mysql_num_rows($resultado);
1 Parmetro (Obrigatrio): Objeto de Resultado de Consulta MYSQL
Retorno
Esta funo retorna o nmero de linhas (registros) existente dentro de um objeto que armazena o resultado
de uma consulta MYSQL.
Em caso de problemas ela seta o controle de erro interno do MYSQL que pode ser acessado pela funo
mysql_error() (explicado adiante)
Detalhe
Caso o comando de seleo retorne 0 (zero) porque no existem registros que satisfaam STRING de
pesquisa SQL informada.
 Este o quarto passo quando se deseja recuperar informaes de um banco de dados do MYSQL.

Apostila de Introduo ao PHP

Pgina

20

Prof. Carlos Majer Aplicaes Corporativas UNICID

Funo mysql_result
Prottipo

mysql_result(<Objeto de Resultado MYSQL>, <Linha>, <Atributo>);


1 Parmetro (Obrigatrio): Objeto de Resultado de Consulta MYSQL
2 Parmetro (Obrigatrio): Nmero da Linha/registro que se deseja acessar.
3 Parmetro (Obrigatrio): Campo/atributo a ser acessado do Objeto de Resultado de Consulta MYSQL.
Exemplo

$valor = mysql_result($resultado,0,'senha');
Retorno
Esta funo retorna o contedo da linha/campo informado.
Como explicado no exemplo anterior, temos um objeto de nome $resultado que contm o que foi lido da
tabela usuarios. A funo mysql_result nos permite ler o contedo das linhas/registros desta tabela.
Para isto, devemos informar a linha (comea por zero) e o campo desejado. Exemplo:Olhe novamente a tabela usurios:[id varchar(40)] [senha varchar(40)] [nome varchar(50)]
[Majer] [123] [Carlos Majer]
[Ana] [abc] [Ana Travassos]
Caso queiramos ler o campo nome, do segundo registro/linha, devemos escrever:-

$valor = mysql_result($resultado,1,'nome');
Utilizei $valor como nome de varivel para armazenar o dado resultante (que "Ana Travassos"). Poderia
ter usado outro nome de varivel.
Tive que informar 1, no segundo parmetro, pois a primeira linha a linha 0, e a segunda linha a linha 1.
Por fim, informei o campo/atributo "nome" pois o que Eu queria.
Se tivesse feito assim:-

$identificacao = mysql_result($resultado,0,'id');
O valor de $identificacao seria "Majer".

Login de Usurio
Abaixo disponibilizo um exemplo completo de funcionamento de Identificao de Usurio.
A tela abaixo a loginBasico.htm, que basicamente uma pgina contendo os objetos: Formulrio cujo atributo action aponta para loginBasico.php
 Caixa de texto identificada como id, que ser utilizada para digitao da identificao do usurio
 Caixa de texto identificada como senha, que ser utilizada para digitao da senha do usurio
 Boto de submisso
Detalhe
Nenhum tipo de consistncia est sendo feito nesta pgina.

Apostila de Introduo ao PHP

Pgina

21

Prof. Carlos Majer Aplicaes Corporativas UNICID

Cdigo do arquivo loginBasico.htm

<html>
<head>
<title>rea de Login</title>
</head>
<body>
<form name="frmLogin" method="post" action="loginBasico.php">
<table width="300" border="1" bgcolor="#FFD7AE">
<tr>
<td bgcolor="black" align="center"><font
color="white"><strong>ACESSO &Agrave; AREA
RESTRITA</strong></font></td>
</tr>
<tr>
<td>
<p>
<strong>&Aacute;rea exclusiva para
usu&aacute;rios cadastrados.</strong>
</p>
<p> Usu&aacute;rio<br>
<input type="text" name="id" id="id">
<br> <br>
Senha<br>
<input type="password" name="senha" id="senha">
<br><br>
<input type="submit" name="Submit" value="OK">
</p>
</td>
</tr>
</table>
</form>
</body>
</html>

Apostila de Introduo ao PHP

Pgina

22

Prof. Carlos Majer Aplicaes Corporativas UNICID


Pgina loginBasico.php
[DEBUG] ==> Comando SQL a ser executado:
SELECT * FROM usuarios WHERE login='Carlos'
[DEBUG] ==> Senha Passada:123
[DEBUG] ==> Nome passado:Carlos Majer
ltimo acesso efetuado em 2007-10-23
Nmero de Acessos: 39
[DEBUG] ==> Comando SQL a ser executado:
UPDATE usuarios SET ultAcesso=curdate() , numAcessos=40 WHERE login='Carlos'
Aqui vai a parte trabalhada:ACESSO AREA RESTRITA
rea exclusiva para usurios cadastrados.
Caro (a) Carlos Majer
ltimo Acesso
2007-10-23
No. de Entradas:
39
Seja bem vindo(a) rea reservada.
Cdigo PHP (O que est precedido por duas barras e em negrito comentrio):-

<html>
<head>
<title>PHP - Login do Usurio</title>
</head>
<body>
<?php
// 1o. Passo - verificar se o usurio enviou ID e SENHA
if($_POST['id']=='' || $_POST['senha']=='')
{
echo '<script> history.go(-1); alert("Informe Usurio e
Senha !");</script>';
}
// 2o. Passo - vamos criar uma conexo com o MYSQL
$conn = mysql_connect("localhost","root","");
// Seno conseguiu conectar, a varivel $conn estar setada
como falsa
if (!$conn)
die("Erro na conexo com o servidor localhost -->" .
mysql_error());
// 3o. Passo - vamos selecionar o banco de dados desejado,
// neste caso sistema, usando o objeto de conexo $conn
// criado acima
$db = mysql_select_db("sistema",$conn);
// Seno conseguiu selecionar o banco de dados, a varivel

Apostila de Introduo ao PHP

Pgina

23

Prof. Carlos Majer Aplicaes Corporativas UNICID

// $db estar setada como falsa


if (!$db)
die("Erro na seleo do banco de dados sistema -->" .
mysql_error());
//
//
//
//

4o. Passo - Uma vez que estamos conectados ao MYSQL e


selecionar o banco de dados, podemos executar a query
que ir pesquisar a tabela de usurios para localizar
o usurio/senha desejado.

// Desejamos criar algo assim:// SELECT * FROM usuarios WHERE login='CARLOS'


// Vamos ento montar o string
// 4.1 - Passo .1 - Inserindo o primeiro trecho na varivel
$comandoSQL = "SELECT * FROM usuarios WHERE login=";
//
//
//
//

Bom, colocamos um pedao da query na varivel.


Ocorre, que precisamos inserir uma aspa. No exemplo do
select acima, inseri o texto CARLOS entre aspas simples,
na string SQL

// Como fazer isto, ou seja, como inserir uma aspa simples


// dentro de uma varivel SQL ?
// Insira-a, delimitando-a com aspas duplas --> aspas duplas
// + aspas simples + aspas duplas
// Com isto, se consegue inserir aspa simples. Vamos fazer
// isto abaixo:$comandoSQL = $comandoSQL . "'";
// Agora, a varivel est com o seguinte contedo:// SELECT * FROM usuarios WHERE login='
// 4.2 - Inserindo o contedo do nome/id
// Ocorre que 'CARLOS' contedo de um objeto do tipo texto,
// que veio da pgina LOGIN.HTM e foi recebido pelo PHP
// Podemos verificar acima (aps passo 1) que os contedos
// destas variveis podem ser acessados atravs da matriz
// $_POST[...]
// Vamos inserir o contedo da varivel identificao, que
// 'CARLOS':$comandoSQL = $comandoSQL . $_POST['id'];
// Agora, a varivel est com o seguinte contedo:// SELECT * FROM usuarios WHERE login='CARLOS
// Vamos inserir a aspa simples, fechando o contedo CARLOS?
// Notem o uso de .=, o que significa que o comando abaixo
// algo assim:-

Apostila de Introduo ao PHP

Pgina

24

Prof. Carlos Majer Aplicaes Corporativas UNICID

// $comandoSQL = $comandoSQL + ...


$comandoSQL .= "'";
//
//
//
//
//
//

Ateno, caso queiram verificar o comando SQL que voc vai


tentar executar no banco de dados, sugiro descomentar a
linha abaixo, que ir mostrar a STRING SQL e ir
interromper/parar a execuo deste script. Tendo certeza
de que a STRING SQL est correta, volte a comentar a linha
abaixo e execute novamente o script PHP.

// die($comandoSQL);
//
//
//
//

Agora, a varivel est com o seguinte contedo:SELECT * FROM usuarios WHERE login='CARLOS'
Estamos com a varivel $comandoSQL do jeito
que precisvamos

// Vamos executar a consulta ?


// 5o. Passo - Executando a consulta
// Para executarmos a consulta, iremos utilizar a
// funo mysql_query
$resultado = mysql_query($comandoSQL,$conn);
//
//
//
//
//
//
//

A funo mysql_query recebe dois parmetros


:: Um string de consulta SQL (no nosso exemplo, usamos
uma varivel que contm este string)
:: A conexo com o banco, que ser utilizada para executar
a consulta
:: Ela retorna um objeto contendo as colunas selecionadas
que pode ser consultado

if (!$resultado)
die("Execuo de consulta gerou o seguinte erro no MYSQL
-->" . mysql_error());
//
//
//
//
//

5.1 - Checando se o usurio existe


Para isto, utilizaremos a funo mysql_num_rows que recebe
como parmetro o objeto resultado de uma query (consulta)
e retorna o nmero de linhas existentes dentro deste
objeto. Se for zero o comando SQL no encontrou nada

if(mysql_num_rows($resultado)==0)
{
echo '<script> history.go(-1); alert("ID no
encontrado!");</script>';
}
// 5.2 - Mas a senha tambm pode estar incorreta, certo ?

Apostila de Introduo ao PHP

Pgina

25

Prof. Carlos Majer Aplicaes Corporativas UNICID

// Vamos checar ?
//
//
//
//
//
//
//
//
//
//
//
//

Utilizaremos a funo mysql_result para isto. Informamos


os parmetros::: $resultado --> que foi o objeto resultante da
query/consulta anterior
:: 0 --> Que a primeira linha que desejamos consultar.
Num comando do tipo SELECT, diversas linhas (registros)
podem ser retornados.
:: nome --> Informos o nome do campo, que neste caso
senha
O objetivo comparar a informao do banco de dados com a
senha digitada na pgina de login e recuperada pelo PHP em
sua varivel/matriz $_POST['senha']

echo '<p>[DEBUG] ==> Comando SQL a ser executado:</font><br>'


. $comandoSQL . "</p>";
if (mysql_result($resultado,0,'senha')!=$_POST['senha'])
{
echo '<script> history.go(-1); alert("Senha Incorreta
!");</script>';
}
echo '<p>[DEBUG] ==> Senha Passada:' .
mysql_result($resultado,0,'senha') . '<br></p>';
// 6 - Exibir os dados desejados
// Podemos agora exibir certos dados, dentre eles o nome,
// nmero de acessos e data de ltimo acesso.
echo '<p>[DEBUG] ==> Nome passado:' .
mysql_result($resultado,0,'nome') . '<br></p>';
echo 'ltimo acesso efetuado em ' .
mysql_result($resultado,0,'ultAcesso') . '<br>';
echo 'Nmero de Acessos: '.
mysql_result($resultado,0,'numAcessos') . '<br>';
// 7 - Atualizao do ltimo acesso e nmero de acessos, no
// banco de dados.
// Iremos agora atualizar a informao de nmero de acessos.
// Para isto, pegamos o nmero de acessos do registro
// selecionado e colocamos seu valor na varivel $acessos,
// que ser incrementada em um
$acessos=mysql_result($resultado,0,'numAcessos');
$acessos++;
// Iremos agora criar o comando SQL para atualizao do
// registro do usurio.
// Queremos algo assim:// UPDATE usuarios SET ultAcesso='2007-10-21', numAcessos=2

Apostila de Introduo ao PHP

Pgina

26

Prof. Carlos Majer Aplicaes Corporativas UNICID

// WHERE login='Carlos'
// A nica coisa diferente aqui a data do ltimo acesso do
// usurio, que queremos armazenar no campo ultAcesso sempre
// que o usurio acessar o sistema
//
//
//
//
//
//
//
//

Para isto, irei utilizar a funo curdate(), do prprio


MYSQL, que recupera a data atual do servidor MYSQL no
formato AAAA-MM-DD, que a forma que nosso campo
entende. Note que este comando no funcionar em outro
Servidor SQL, pois especfico do MYSQL. Caso tenha outro
servidor SQL, procure localizar
a funo deste servidor que recupera a DATA atual do
sistema. Nosso comando SQL dever ficar assim:-

// UPDATE usuarios SET ultAcesso = curdate(), numAcessos=2


// WHERE login='Carlos'
$comandoSQL
$comandoSQL
$comandoSQL
$comandoSQL
$comandoSQL

='UPDATE usuarios SET ultAcesso=';


.= "curdate() , ";
.= "numAcessos=".$acessos ;
.= " WHERE login='" . $_POST['id'];
.= "'";

echo '<p>[DEBUG] ==> Comando SQL a ser executado:</font><br>'


. $comandoSQL . "</p>";
$atualizacao = mysql_query($comandoSQL,$conn);
if (!$atualizacao)
echo 'Erro na atualizaco de registro do usurio:
'.mysql_error();
else
echo '<script> alert("Seja bem vindo(a) ' .
mysql_result($resultado,0,'nome') . '");</script>';
echo 'Aqui vai a parte trabalhada:-<br>'
;
?>
<HR>
<strong>ACESSO &Agrave; AREA RESTRITA</strong>
<p>&Aacute;rea exclusiva para usu&aacute;rios cadastrados.</p>
<p> Caro (a)
<?php
echo mysql_result($resultado,0,'nome');
?>
<br> <br>
ltimo Acesso<br>
<?php
echo mysql_result($resultado,0,'ultAcesso');
?>

Apostila de Introduo ao PHP

Pgina

27

Prof. Carlos Majer Aplicaes Corporativas UNICID

<br> <br>
No. de Entradas:<br>
<?php
echo mysql_result($resultado,0,'numAcessos');
?>
<br><br>
Seja bem vindo(a) rea reservada.
</p>
</body>
</html>

Apostila de Introduo ao PHP

Pgina

28

Você também pode gostar