Você está na página 1de 28

Prof.

Carlos Majer – Aplicações Corporativas – UNICID

Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da
Universidade Cidade de São Paulo – UNICID

Licença de Uso
Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-Vedada a Criação de Obras
Derivadas 2.5 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-
nd/2.5/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
USA.

Este material não pode ser alterado. Para maiores informações 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>

Introdução
Um SCRIPT é um conjunto de instruções ou comandos, também chamado de programa, baseados numa
determinada linguagem (PHP, Javascript, etc), que executam certas operações.

Agindo geralmente de forma automática, estes programas caracterizam-se por sua necessidade de
interpretação 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 Introdução ao PHP Página 1


Prof. Carlos Majer – Aplicações 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 limitações que advém do caráter estático
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 solicitações para acesso às páginas HTML)
para em seguida disponibilizar a página resultante ao usuário solicitante.

Resumindo, a página PHP não é executada no navegador do usuário e sim no servidor onde a mesma está
hospedada.

 Seu navegador não entende PHP. Apenas HTML, algumas linguagens de script (Javascript, Vbscript,
etc) e CSS
Enquanto as páginas HTML provêm limitada funcionalidade, a inserção do PHP expande os limites desta
tecnologia, trazendo grande número de vantagens e amadurecendo o desenvolvimento através de
programação dinâmica.

O PHP tem evoluído 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 manipulação de banco de dados, processamento dinâmico, manipulação de
imagens, dentre outras possibilidades.

Funcionamento
O desenvolvedor pode criar uma página feita toda em PHP ou mesclá-la com HTML, ou seja, inserindo
comandos dentro do HTML.

A linguagem PHP pode então ser embutida dentro do código HTML e o servidor PHP processa apenas o
código PHP (ignorando o HTML), inserindo o resultado deste processamento no lugar dos comandos PHP
(em formato HTML), de forma a gerar uma página HTML final que será enviada ao cliente (navegador do
usuário).

Esta página 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 necessária na criação das páginas de um grande conjunto de
informações, como por exemplo, um catálogo de peças de uma grande empresa.
• Além de trabalhoso, também é muito difícil controlar a manutenção deste conjunto de páginas,
especialmente quando existem diferentes regras de negócio aplicadas na exibição das páginas
• Seria muito complexo efetuar uma mudança de contextos (exemplo: conforme login de usuário, site
apresentaria um conjunto de informações para cliente e outro para administrador)

Formas de Utilização
Um comando ou conjunto de comandos PHP deve ser inserido dentro das seguintes marcas específicas:-
1) Forma Tradicional:-
<?php comando php; ?>

Esta é a forma mais tradicional e que os interpretadores irão entender.


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

Apostila de Introdução ao PHP Página 2


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Esta é outra forma que também é 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 instruções, é necessário que o arquivo PHP.INI seja
devidamente configurado.

 Procure também por pela função short_tags() e opção --enable-short-tags


4) Usando marcas de ASP
<% comando php; %>
A partir da versão 3.0.4 existe a possibilidade de se usar marca do tipo ASP.

 Para garantir a máxima portabilidade e funcionalidade, utilize o conjunto de marcas <?php ?>.

PHP e HTML
Uma vez criada, a página PHP é armazenada no SERVIDOR. A página é processada (interpretada) no
Servidor e o código resultante em HTML é enviado ao navegador.

O navegador recebe apenas o resultado do código 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 página HTML.";
?>
</body>
</html>

Ao encontrar a marca <?php, o PHP irá processar tudo até encontrar um ponto e virgula ; , que finaliza
o processamento PHP.

A marca de fechamento ?> é opcional. Quando esta marca não é inserida, o desenvolvedor pode incluir
outros arquivos (include/require) no código PHP.

Outra forma de se iniciar um código PHP é através de sua forma curta <?, ou seja, não sendo necessário
inserir o texto php.
Caixa Alta ou Caixa Baixa?
O desenvolvedor deve se preocupar com maiúsculos e minúsculos, uma vez que o PHP é sensível a caixa.

Inserindo Comentários
Comentar o código é uma atividade que todo desenvolvedor deve seguir. Para isto, o PHP provê a
possibilidade de comentário por linha ou por bloco.

Apostila de Introdução ao PHP Página 3


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Comentário por linha:-

<?
# Esta linha é um comentário
echo 'Teste';
?>

Apenas o string 'Teste' irá aparecer.

Comentário por bloco


/* Coloque os comentários em bloco entre barra e asterisco, finalizando-os com asterisco e barra */

Tipos de Dados
Segue uma relação de alguns tipos de dados disponíveis pelo PHP:-

Tipo Domínio Descrição


Booleano TRUE ou FALSE Utilizado para valores boleanos (verdadeiro ou falso)
* Verifique no manual do PHP, pois existem outras
possibilidades de definição do valor FALSE
Inteiro / Conjunto Z Utilizado para valores inteiros. A diferença entre ambos
Longo {..,-1, 0 , 1 , ..} (inteiro e longo) é o número de bytes utilizado para
Em geral, 32 bits armazenamento do valor, feito automaticamente pelo PHP.
(aproximadamente * Verifique no manual do PHP como se definem números em
2 bilhões) outras bases (octais e hexadecimais)
Ponto Máximo de Utilizado para valores com casas decimais e quando se trata de
Flutuante ~1.8e308 com um grande número inteiro (maior do que o tipo Inteiro pode
precisão de 14 armazenar).
decimais digitais * Verifique no manual do PHP como se definir um número
(número de 64 bits flutuante com grande número de casas.
no formato IEEE).
String Cadeia de String é um conjunto de caracteres geralmente delimitados por
caracteres limitada apóstrofos ou aspas.
pela memória. * Se uma string for delimitada por aspas, você conseguirá
expandir o valor de uma variável (desde que o PHP consiga
identificar corretamente esta variável) ou caractere de escape.
Array Vetor ou Matriz Este tipo de objeto é um vetor (quando tem uma única
contendo de 0 a dimensão) ou matriz (quando tem mais do que uma dimensão).
muitos elementos Cada item numa array é referenciado por um índice, que pode
ser numérico ou string.

Variáveis
A criação de variáveis no PHP segue a seguinte regra: Todas as variáveis devem ser precedidas do símbolo
$ (Dólar ou cifrão). Em seguida deve vir uma letra ou o caractere de sublinhado, para em seguida qualquer

Apostila de Introdução ao PHP Página 4


Prof. Carlos Majer – Aplicações Corporativas – UNICID

letra, número ou caractere de sublinhado. Caso após o sinal de $ se insira um número, esta variável está
incorreta.

Exemplos:-
$ativo =FALSE;

$valor=1; // Número Inteiro


$valor2=-2; # Outro número inteiro

$valor=45.12; // Este é um número de ponto flutuante

$nome='Carlos';

$texto='Isto é um string';
$1teste=123; // Errado

Trabalhando com Formulários


Quando criamos um formulário numa página HTML estamos basicamente inserindo um conjunto de
diferentes objetos de formulário, dentre eles:-
• Caixas de Texto, de Senha
• Áreas de Texto
• Campos Escondidos
• Botões de Checagem
• Botões de Rádio
• Listas de Seleção
• Arquivos

Um uso muito comum do PHP ocorre quando precisamos gravar informações de um formulário numa tabela
de um banco de dados.

Criando o arquivo HTML


Para utilizarmos formulários, precisamos inicialmente criar uma página em HTML, com os objetos de
formulário que desejamos passar para a página PHP.

Exemplo TESTE1.HTM :-

<html>
<head>
<title>Teste de Formulário</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 Introdução ao PHP Página 5


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Método de Envio - get


Desenvolvedor insere a marca form (que inicia o formulário) e dentro dela informa o método pelo qual os
objetos deste formulário serão enviados para a página destino.

O método get determina que as informações dos objetos sejam expostas (e passadas) na área de endereço
do navegador (onde o usuário digita o endereço da página que deseja acessar).

Exemplo:-
programa.php?nome=Carlos

Este método tem algumas limitações:-


 O tamanho permitido é pequeno. Algo em terno de 128 bytes
 As informações ficam expostas
 Não se consegue enviar arquivos (upload de arquivos).
Método de Envio – post
Como opção ao método get, temos o método post, que além de não expor o conteúdo dos objetos de
formulário na barra de endereços, permite também o envio de quantidade maior de informações
(caracteres) além do que também possibilita o envio (upload) de arquivos (verificado posteriormente).

Exemplo:-
<form name="f1" method="post " action="programa.php">
Página Destino – action
O desenvolvedor informa qual é a página que irá receber os objetos do formulário através do atributo action.
É neste local que iremos informar o nome da página PHP.

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

Podemos utilizar dois tipos de referência ao arquivo que irá receber os objetos do formulário:-
 Através de sua URL
 Através de uma posição relativa

Quando utilizamos uma URL, devemos informar o caminho completo para se chegar à página.
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 página destino está localizada, em relação à
página que está chamando-a.

Exemplo:-
Supondo que a página HTML chama-se TESTE1.HTM e está no mesmo diretório (dentro do site) que a
página programa.php. Neste caso, o desenvolvedor pode informar apenas o nome da página (arquivo)
destino que o servidor fará esta busca localmente (internamente).

Caso a página programa.php estivesse numa pasta de nome programas, abaixo do diretório onde
TESTE1.HTM se encontra, então o caminho para acesso à página PHP seria:-

programas/programa.php

O que inserido dentro do comando ficaria:-


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

Apostila de Introdução ao PHP Página 6


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Inserindo objetos dentro do formulário


O próximo passo seria inserir os objetos no (dentro do / abaixo do) formulário.

No exemplo acima, estamos inserindo dois objetos:-


 Um campo do tipo entrada/caixa de texto, cujo nome (atributo name) é nome
 Um botão de submissão do formulário, obrigatório para enviar o formulário à sua página destino
(action)

 Caso o desenvolvedor não informe o atributo name, o objeto não pode ser reconhecido pelo PHP

Em seguida, o desenvolvedor fecha o formulário através do encerramento da marca </form>, bem como
encerra as marcas de corpo </body> e de página HTML </html>

Neste momento, o desenvolvedor tem a página que será a responsável pela criação dos objetos em seu
navegador e que irá enviar estes objetos de formulário para a página destino.

 De preferência, salve esta página HTML num local (pasta/diretório) 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 formulários, que estão
vindos da página HTML.

Para isto é importante que se entendam algumas considerações básicas do PHP.


Recebendo variáveis no PHP advindas de um formulário
No PHP, as variáveis advindas de um formulário HTML são armazenadas em duas matrizes:-
$_GET
$_POST

Para acessar estas matrizes, o usuário 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 variáveis que irão armazenar os valores advindos dos objetos de
formulários 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
conteúdo, asteriscos irão aparecer no lugra das letras.
 Objeto do tipo hidden (escondido) mantém o seu valor, mas não é exibido ao usuário na página
HTML (tela do navegador)

Apostila de Introdução ao PHP Página 7


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Recebendo objetos do tipo checkbox


Quando configuramos um objeto do tipo checkbox dentro de um formulário, ele poderá ou não ser
enviado, para a página destino (action) mediante o seu valor.

Quando um objeto deste tipo não está checado na página HTML, ele simplesmente não é enviado para a
página destino. Sendo assim, se o desenvolvedor tentar acessar/checar seu valor na matriz $_GET ou
$_POST, ele recebe um erro de execução, porque este objeto não existe (não foi enviado).

Exemplos:-

Chamada da página PHP sem checar o objeto:-


http://localhost/TipoCheck.php?

Chamada da página 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 formulário PHP pode se deparar com dois possíveis valores:-
on  É o valor padrão que é enviado pelo formulário, quando o desenvolvedor não 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 opção 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 não deixa nenhum dos objetos checado (selecionado) por padrão, ele corre o risco do
usuário não 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 formulário, quando não são selecionados (checados) na página HTML, simplesmente não
são enviados para a página destino (PHP). Se o objeto não é enviado, isto significa que ele não existe e
desta forma, qualquer tentativa para acessar seu conteúdo resultará em erro na execução da página. Para
evitar este tipo de problema, o desenvolvedor pode tomar duas ações:-
1) Utilizar o atributo checked na criação de um dos elementos do grupo
2) Utilizar a função isSet que verifica se um objeto foi enviado (e desta forma existe)
Recebendo objetos de uma Lista
Quando o desenvolvedor cria uma lista na página HTML, o que é enviado para o PHP vai depender do
atributo value das opções desta lista.

Caso o desenvolvedor não tenha informado a opção value, o que irá ao PHP será o texto do item inserido.
Caso o atributo value tenha sido informado, então este é o valor que será enviado ao PHP.

Exemplo:-
http://localhost/TipoLista.php?estCivil=Separado&estCivil2=Solteiro&estCivil3=S
Recebendo objetos Listas com múltiplos valores
Para se trabalhar com lista de múltiplos valores, o usuário deverá habilitar o atributo multiple da lista, na
página HTML. Será conveniente também que ele defina o tamanho visual da lista através do atributo size.

Para se trabalhar com múltiplos 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 Introdução ao PHP Página 8


Prof. Carlos Majer – Aplicações Corporativas – UNICID

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

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

No programa PHP, o desenvolvedor poderá utilizar a estrutura de laço de repetição for, em conjunto com a
função 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 formulário HTML, o desenvolvedor deve executar os seguintes passos:-
1) Utilizar o atributo method com o valor post, para assegurar-se de que não 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 conteúdo será transmitido de uma ponta a outra. Seu valor
padrão é application/x-www-form-urlencoded e é o mais utilizado para os diversos tipos de envio de
dados, com exceção 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 formulário, os dados podem ficar na matriz $_GET ou $_POST, mas quando se
recebe arquivos (upload), suas informações ficam na variável $_FILES, que é a matriz que mantêm os
dados de arquivos recebidos.

 Para versões anteriores do PHP, a matriz que recebe tais valores é a $HTTP_POST_FILES.

As seguintes informações 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 temporária do arquivo

Ao final do processamento do script PHP, o arquivo existente na pasta temporária é simplesmente eliminado.
Movendo o arquivo para sua pasta final
O arquivo que é recebido é armazenado numa pasta temporária até o termino de execução do script PHP.
Assim que o mesmo finalizar, este arquivo (temporário) é eliminado.

Nossa tarefa, como desenvolvedor é transferir o arquivo à pasta de arquivos recebidos antes do término da
execução do script PHP. Para isto, utilizamos a função move_uploaded_file().

Apostila de Introdução ao PHP Página 9


Prof. Carlos Majer – Aplicações 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 inválido de arquivo";

 A pasta destino do arquivo já deverá existir.

Conteúdo 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 configurações do PHP.INI são importantes para que o upload de arquivos funcione de forma
adequada.

Apostila de Introdução ao PHP Página 10


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Uma delas é a seção file_uploads que deve estar com o valor On ou 1 para receber arquivos
file_uploads = On

Outra é o nome do diretório temporário que armazenará os arquivos recebidos (se não for especificado
utilizará o padrão do sistema):-
upload_tmp_dir = "${path}\tmp\"

O tamanho máximo de um arquivo pode ser definido pela diretiva abaixo:-


upload_max_filesize = 2M
Caso deseje precaver o usuário 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 máximo de um arquivo. Exemplo:-

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

Apostila de Introdução ao PHP Página 11


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Arrays
Array é o nome inglês para um tipo de objeto composto por uma coleção de dados. Esta coleção de dados,
que pode ser de uma dimensão (vetor) ou de várias dimensões (matrizes), pode conter diferentes tipos de
dados.

Irei utilizar a denominação matriz (es) para referenciar este tipo de objeto.

Criando Matrizes
Uma das formas de se criá-las é através da função array(). Exemplo:-

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


print_r($carros); // A função print_r serve para relacionar os valores de uma
matriz num formato inteligível pelo ser humano

Resultado
Array ( [0] => Polo [1] => Fiesta [2] => Mercedes )

Notem que o PHP inseriu automaticamente os valores dentro da matriz utilizando índices numéricos
seqüenciais.

Referenciando uma Matriz através de chaves


Outra forma de se referenciar um item de uma matriz é através de uma chave, ou seja, um nome entre
aspas que identifica um item específico da coleção.

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 inserção de itens numa matriz.

Exemplo de Meses:-

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

Apostila de Introdução ao PHP Página 12


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Resultado:-
Array ( [7] => Janeiro [8] => Fevereiro [9] => Março [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 dimensão:-
<?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 Introdução ao PHP Página 13


Prof. Carlos Majer – Aplicações 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] = "financeiro";
$departamento[1] = "producao";
$departamento[2] = "rh";
$departamento[3] = "comercial";

$empregados["financeiro"] = 5;
$empregados["producao"] = 32;
$empregados["rh"] = 3;
$empregados["comercial"] = 15;

print "Os departamentos da empresa são:-<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 Introdução ao PHP Página 14


Prof. Carlos Majer – Aplicações Corporativas – UNICID

<body>

<?php
$departamento[0] = "financeiro";
$departamento[1] = "producao";
$departamento[2] = "rh";
$departamento[3] = "comercial";

sort($departamento);
print "Os departamentos da empresa em ordem alfabética são:-<br>";

foreach ($departamento as $d)


{
echo $d.'<br>';
}

rsort($departamento);
print "<br>Os departamentos da empresa em ordem reversa são:-
<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'] = "financeiro (C)";
$departamento['D'] = "producao (D)";
$departamento['A'] = "rh (A)" ;
$departamento['B'] = "comercial (B)";

sort($departamento);
print "Os departamentos da empresa em ordem alfabética são:-<br>";

foreach ($departamento as $d)


{
echo $d.'<br>';

Apostila de Introdução ao PHP Página 15


Prof. Carlos Majer – Aplicações Corporativas – UNICID

arsort($departamento);
print "<br>Os departamentos da empresa em ordem da chave são:-
<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] = "financeiro";
$departamento[1] = "producao";
$departamento[2] = "rh";
$departamento[3] = "comercial";

$empregados["financeiro"] = 5;
$empregados["producao"] = 32;
$empregados["rh"] = 3;
$empregados["comercial"] = 15;

sort($departamento);
print "Os departamentos da empresa em ordem alfabética são:-<br>";

for ($n=0;$n<sizeof($departamento);$n++)
{
echo 'Departamento ' . $departamento[$n].' tem ' .
$empregados[$n] . ' empregados <br>';
}

?>

</body>
</html>

Apostila de Introdução ao PHP Página 16


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Arquivo Deptos5.php
<html>
<head>
<title>Matriz 5 de Departamentos e Empregados</title>
</head>

<body>

<?php
$departamento[0] = "financeiro";
$departamento[1] = "producao";
$departamento[2] = "rh";
$departamento[3] = "comercial";

$empregados[0] = 5;
$empregados[1] = 32;
$empregados[2] = 3;
$empregados[3] = 15;

sort($departamento);
print "Os departamentos e empregadossão:-<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', 'Março', 'Abril',
'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro',
'Novembro', 'Dezembro');
print_r($meses);
?>

</body>

Apostila de Introdução ao PHP Página 17


Prof. Carlos Majer – Aplicações Corporativas – UNICID

</html>

PHP e MYSQL
O PHP contém funções para acesso a diversos bancos de dados.
O MYSQL é um dos bancos de dados mais utilizado por quem desenvolve PHP.

Irei relacionar as funções mais utilizadas nesta parte desta apostila.

Conectando a um servidor
O momento inicial e diríamos primeiro passo para se recuperar informações de um banco de dados MYSQL é
a conexão com o servidor MYSQL.

Quando um usuário acessa o MYSQL, através de seu prompt em tela MS-DOS, ele informa uma linha de
comando similar à seguinte:-

C:\MYSQL\BIN> mysql –u usuário root –p senha <ENTER>

Onde usuário é a identificação de um usuário válido no MYSQL e senha é a senha deste usuário.

Logo após uma instalação padrão, o usuário root é criado, podendo sua senha não ser cadastrada.
Exemplo:-

C:\MYSQL\BIN> mysql –u root <ENTER>

O PHP permite o acesso ao MYSQL através de uma função específica para este fim.

Função mysql_connect
Protótipo
mysql_connect( <Nome do Servidor> , <Usuário>, <Senha>);

1º Parâmetro (Obrigatório): Nome do Servidor,


2º Parâmetro (Obrigatório): Identificação do Usuário
3º Parâmetro (Obrigatório): Senha

Exemplo
$conexao = mysql_connect("localhost","root","");

Retorno
Esta função retorna um objeto de conexão com o servidor ou FALSO caso não consiga conectar no servidor
informado.

Em caso de problemas ela seta o controle de erro interno do MYSQL que pode ser acessado pela função
mysql_error() (explicado adiante)

Detalhe
No exemplo acima, esta função conecta a máquina cliente ao Servidor MYSQL, de nome localhost, utilizando
a identificação de usuário root, com senha em branco.

Apostila de Introdução ao PHP Página 18


Prof. Carlos Majer – Aplicações Corporativas – UNICID

O resultado da conexão é passado ao objeto de nome $conexao que tem seu valor setado em FALSO caso
não se consiga executar a conexão.

 Este é o primeiro passo quando se deseja recuperar informações de um banco de dados do MYSQL.

Função mysql_select_db
Protótipo
mysql_select_db ( <Nome do Banco de Dados> , <Objeto de Conexao>);

1º Parâmetro (Obrigatório): Nome do Banco de Dados,


2º Parâmetro (Opcional): Objeto de conexão com o Servidor

Exemplo
$banco = mysql_select_db("sistema",$conexao);

Retorno
Esta função retorna um objeto de conexão com o Banco de Dados informado ou FALSO caso não 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 função
mysql_error() (explicado abaixo)

Detalhe
No exemplo acima, esta função conecta a máquina cliente ao Banco de Dados de nome sistema, que existe
no Servidor informado por $conexao.

Caso o usuário não informe o objeto de conexão ($conexao), o MYSQL utilizará a última conexão aberta com
o servidor (neste caso, com o localhost).

O resultado da conexão é passado ao objeto de nome $banco que tem seu valor setado em FALSO caso não
se consiga executar a conexão.

 Este é o segundo passo quando se deseja recuperar informações de um banco de dados do MYSQL.

Você também pode utilizar este comando e variar apenas o Servidor de Conexão, de forma a conectar em
mais do que um servidor, para troca de dados entre bancos de dados, por exemplo.

Função mysql_query
Protótipo
$resultado = mysql_query(<String SQL> , <Objeto de Conexão>);

Exemplo
$comandoSQL="SELECT * FROM usuarios";
$resultado = mysql_query($comandoSQL,$conexao);

1º Parâmetro (Obrigatório): String SQL a ser executada pelo servidor,


2º Parâmetro (Opcional): Objeto de conexão com o Servidor

Retorno
Esta função retorna um objeto de resultado de query/pesquisa no Banco de Dados informado ou FALSO caso
não 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 função
mysql_error() (explicado adiante)

Apostila de Introdução ao PHP Página 19


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Detalhe
No exemplo acima, esta função executa a query de seleção de todos os registros da tabela usuarios no
servidor apontado pelo objeto $conexao.

Caso o usuário não informe o objeto de conexão ($conexao), o MYSQL utilizará a última conexão aberta com
o servidor (neste caso, com o localhost).

O resultado da conexão é passado ao objeto de nome $resultado que tem seu valor setado em FALSO caso
não se consiga executar a conexão.

No caso específico deste exemplo que seleciona registros de uma tabela, o objeto $resultado conterá os
nomes dos atributos (campos) da tabela usuários, bem como as linhas (registros) com seus valores.

 Este é o terceiro passo quando se deseja recuperar informações de um banco de dados do MYSQL.

Explicação Complementar
No exemplo aplicado acima, o conteúdo que este objeto irá armazenar será todos os nomes de campos da
tabela usuarios, como também seus valores (linhas/registros).

Podemos abstrair um exemplo do conteúdo 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 contém os nomes dos campos/atributos da tabela
usuarios (id, senha e nome), seus tipos e tamanhos. Este objeto também armazena os valores das duas
linhas (registros) encontradas na tabela, que neste caso são:-
{Majer, 123,Carlos Majer} e {Ana, abc, Ana Travassos}

O que foi explicado é o conteúdo deste objeto.


Para recuperar estes valores, verifique explicação abaixo.

Função mysql_num_rows
Protótipo
mysql_num_rows(<Objeto de Resultado de Consulta MYSQL>);

Exemplo
$numeroLinhas = mysql_num_rows($resultado);

1º Parâmetro (Obrigatório): Objeto de Resultado de Consulta MYSQL

Retorno
Esta função retorna o número 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 função
mysql_error() (explicado adiante)

Detalhe
Caso o comando de seleção retorne 0 (zero) é porque não existem registros que satisfaçam à STRING de
pesquisa SQL informada.

 Este é o quarto passo quando se deseja recuperar informações de um banco de dados do MYSQL.

Apostila de Introdução ao PHP Página 20


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Função mysql_result
Protótipo
mysql_result(<Objeto de Resultado MYSQL>, <Linha>, <Atributo>);

1º Parâmetro (Obrigatório): Objeto de Resultado de Consulta MYSQL


2º Parâmetro (Obrigatório): Número da Linha/registro que se deseja acessar.
3º Parâmetro (Obrigatório): Campo/atributo a ser acessado do Objeto de Resultado de Consulta MYSQL.

Exemplo
$valor = mysql_result($resultado,0,'senha');

Retorno
Esta função retorna o conteúdo da linha/campo informado.

Como explicado no exemplo anterior, temos um objeto de nome $resultado que contém o que foi lido da
tabela usuarios. A função mysql_result nos permite ler o conteúdo das linhas/registros desta tabela.

Para isto, devemos informar a linha (começa por zero) e o campo desejado. Exemplo:-

Olhe novamente a tabela usuários:-


[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 variável para armazenar o dado resultante (que é "Ana Travassos"). Poderia
ter usado outro nome de variável.

Tive que informar 1, no segundo parâmetro, 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 Usuário
Abaixo disponibilizo um exemplo completo de funcionamento de Identificação de Usuário.

A tela abaixo é a loginBasico.htm, que é basicamente uma página contendo os objetos:-


 Formulário cujo atributo action aponta para loginBasico.php
 Caixa de texto identificada como id, que será utilizada para digitação da identificação do usuário
 Caixa de texto identificada como senha, que será utilizada para digitação da senha do usuário
 Botão de submissão

Detalhe
Nenhum tipo de consistência está sendo feito nesta página.

Apostila de Introdução ao PHP Página 21


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Código 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 Introdução ao PHP Página 22


Prof. Carlos Majer – Aplicações Corporativas – UNICID

Página 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
Número 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 usuários cadastrados.
Caro (a) Carlos Majer

Último Acesso
2007-10-23

No. de Entradas:
39

Seja bem vindo(a) à área reservada.

Código PHP (O que está precedido por duas barras e em negrito é comentário):-
<html>
<head>
<title>PHP - Login do Usuário</title>
</head>

<body>
<?php
// 1o. Passo - verificar se o usuário enviou ID e SENHA
if($_POST['id']=='' || $_POST['senha']=='')
{
echo '<script> history.go(-1); alert("Informe Usuário e
Senha !");</script>';
}
// 2o. Passo - vamos criar uma conexão com o MYSQL
$conn = mysql_connect("localhost","root","");

// Senão conseguiu conectar, a variável $conn estará setada


como falsa
if (!$conn)
die("Erro na conexão com o servidor localhost -->" .
mysql_error());

// 3o. Passo - vamos selecionar o banco de dados desejado,


// neste caso sistema, usando o objeto de conexão $conn
// criado acima
$db = mysql_select_db("sistema",$conn);

// Senão conseguiu selecionar o banco de dados, a variável

Apostila de Introdução ao PHP Página 23


Prof. Carlos Majer – Aplicações Corporativas – UNICID

// $db estará setada como falsa


if (!$db)
die("Erro na seleção 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 usuários para localizar
// o usuário/senha desejado.

// Desejamos criar algo assim:-


// SELECT * FROM usuarios WHERE login='CARLOS'
// Vamos então montar o string

// 4.1 - Passo .1 - Inserindo o primeiro trecho na variável


$comandoSQL = "SELECT * FROM usuarios WHERE login=";

// Bom, colocamos um pedaço da query na variável.


// 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 variável 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 variável está com o seguinte conteúdo:-


// SELECT * FROM usuarios WHERE login='

// 4.2 - Inserindo o conteúdo do nome/id


// Ocorre que 'CARLOS' é conteúdo de um objeto do tipo texto,
// que veio da página LOGIN.HTM e foi recebido pelo PHP

// Podemos verificar acima (após passo 1) que os conteúdos


// destas variáveis podem ser acessados através da matriz
// $_POST[...]
// Vamos inserir o conteúdo da variável identificação, que é
// 'CARLOS':-
$comandoSQL = $comandoSQL . $_POST['id'];

// Agora, a variável está com o seguinte conteúdo:-


// SELECT * FROM usuarios WHERE login='CARLOS
// Vamos inserir a aspa simples, fechando o conteúdo CARLOS?

// Notem o uso de .=, o que significa que o comando abaixo


// é algo assim:-

Apostila de Introdução ao PHP Página 24


Prof. Carlos Majer – Aplicações Corporativas – UNICID

// $comandoSQL = $comandoSQL + ...


$comandoSQL .= "'";

// Atenção, 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 execução 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 variável está com o seguinte conteúdo:-


// SELECT * FROM usuarios WHERE login='CARLOS'
// Estamos com a variável $comandoSQL do jeito
// que precisávamos

// Vamos executar a consulta ?

// 5o. Passo - Executando a consulta


// Para executarmos a consulta, iremos utilizar a
// função mysql_query

$resultado = mysql_query($comandoSQL,$conn);

// A função mysql_query recebe dois parâmetros


// :: Um string de consulta SQL (no nosso exemplo, usamos
// uma variável que contém este string)
// :: A conexão 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("Execução de consulta gerou o seguinte erro no MYSQL
-->" . mysql_error());

// 5.1 - Checando se o usuário existe


// Para isto, utilizaremos a função mysql_num_rows que recebe
// como parâmetro o objeto resultado de uma query (consulta)
// e retorna o número de linhas existentes dentro deste
// objeto. Se for zero é o comando SQL não encontrou nada

if(mysql_num_rows($resultado)==0)
{
echo '<script> history.go(-1); alert("ID não
encontrado!");</script>';
}

// 5.2 - Mas a senha também pode estar incorreta, certo ?

Apostila de Introdução ao PHP Página 25


Prof. Carlos Majer – Aplicações Corporativas – UNICID

// Vamos checar ?

// Utilizaremos a função mysql_result para isto. Informamos


// os parâmetros:-
// :: $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 informação do banco de dados com a
// senha digitada na página de login e recuperada pelo PHP em
// sua variável/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,
// número 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 'Número de Acessos: '.
mysql_result($resultado,0,'numAcessos') . '<br>';

// 7 - Atualização do último acesso e número de acessos, no


// banco de dados.
// Iremos agora atualizar a informação de número de acessos.
// Para isto, pegamos o número de acessos do registro
// selecionado e colocamos seu valor na variável $acessos,
// que será incrementada em um
$acessos=mysql_result($resultado,0,'numAcessos');
$acessos++;

// Iremos agora criar o comando SQL para atualização do


// registro do usuário.

// Queremos algo assim:-


// UPDATE usuarios SET ultAcesso='2007-10-21', numAcessos=2

Apostila de Introdução ao PHP Página 26


Prof. Carlos Majer – Aplicações Corporativas – UNICID

// WHERE login='Carlos'

// A única coisa diferente aqui é a data do último acesso do


// usuário, que queremos armazenar no campo ultAcesso sempre
// que o usuário acessar o sistema

// Para isto, irei utilizar a função curdate(), do próprio


// 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 não funcionará em outro
// Servidor SQL, pois é específico do MYSQL. Caso tenha outro
// servidor SQL, procure localizar
// a função 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 ='UPDATE usuarios SET ultAcesso=';


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

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


. $comandoSQL . "</p>";

$atualizacao = mysql_query($comandoSQL,$conn);
if (!$atualizacao)
echo 'Erro na atualizacão de registro do usuário:
'.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 Introdução ao PHP Página 27


Prof. Carlos Majer – Aplicações 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 Introdução ao PHP Página 28

Você também pode gostar