Curso PHP 3a4 Parte
Curso PHP 3a4 Parte
APOSTILA DE PHP
EXEMPLOS COM BANCO DE DADOS,
PASSAGEM DE PARÂMETROS, SESSÕES E INCLUDES
São Carlos
2007
SUMÁRIO
1. MYSQL............................................................................................................3
1.1 Campos..................................................................................................... 4
1.2 Tabelas......................................................................................................7
2. CONFIGURAÇÃO DO BANCO DE DADOS MYSQL...................................14
2.1 Criação da base de dados bdteste no MySQL........................................15
2.2 Criação das tabelas.................................................................................16
2.3 Exemplos de utilização de comandos SQL no MYSQL...........................17
2.3.1 Inserção de registros na tabela.........................................................17
2.3.2 Seleção de registros na tabela..........................................................18
2.3.3 Alteração de registros na tabela........................................................18
2.3.4 Exclusão de registros na tabela........................................................18
3. EXEMPLOS MYSQL X PHP.........................................................................19
4. MODELO DE ÁREA RESTRITA E CADASTRO DE USUÁRIOS................30
4.1 PHP com HTML.......................................................................................34
4.2 Utilizando javascript para verificação de campos vazios.........................35
4.3 PHP e banco de dados MYSQL..............................................................36
4.3.1 Conexão com o banco de dados.......................................................36
4.3.2 Execução da “Query” SQL e criação da Seção................................36
4.4. Criação da Área Restrita.........................................................................37
4.5 Criação do cadastro de Usuário..............................................................39
4.5.1 Listagem de Usuários.......................................................................41
4.5.2 Inserção de Usuários........................................................................43
4.5.3 Alteração de Usuários.......................................................................48
4.5.4 Exclusão de Usuários.......................................................................48
4.5.5 Outros exemplos de cadastros..........................................................48
Cadastro de Grupo de Produtos....................................................................48
Cadastro de Produtos....................................................................................... 49
2
1. MYSQL
Tabelas e campos
A etapa de montagem das tabelas, é senão a mais importante, uma das mais
importantes etapas da montagem de uma base de dados, pois um bom projeto
pode facilitar muito o trabalho de programação.
1.1 Campos
CHAR(M)
Os campos CHAR são usados para caracteres alfanuméricos, como endereços
e nomes. Seu tamanho é fixo e instaurado ao ser criado. Um campo do tipo
CHAR pode ter de 1 a 255 caracteres. Exemplo: nome CHAR(10);
Define um campo chamado 'nome', que pode conter até dez letras. Observe
que não há acentos no nome do campo, pois muitos servidores não acentuam,
e sua tabela teria difícil acesso.
4
VARCHAR(M)
Sua estrutura e funcionamento são idênticos ao campo anterior, salvo que no
tipo CHAR, o tamanho definido é fixo, e mesmo que não usado, aquele espaço
em disco é alocado. Já o campo VARCHAR, aloca apenas o espaço
necessário para gravação. Contudo, vale lembrar que trocamos espaço por
velocidade, pois este campo é 50% mais lento que o anterior.
Exemplo: nome VARCHAR(10);
Define um campo chamado ‘nome’ que pode conter até dez letras. Se você
preencher apenas duas, o campo não ocupará todos dez bytes, mas apenas 2.
INT(M) [Unsigned]
O campo INT, que como o próprio número diz, suporta o conjunto dos números
inteiros numa variação de −2147483648 a 2147483647. O parâmetro Unsigned
pode ser passado, excluindo os números negativos, proporcionando um
intervalo de 0 até 4294967295.
Exemplos:
codigo INT;
FLOAT[(M,D)]
Os pontos flutuantes (FLOAT) representam pequenos números decimais, e são
usados para representar números com maior precisão. Exemplo: preco
FLOAT(4,2);
DATE
Campo usado para armazenar informações referentes a data. A forma padrão
‚ é 'AAAA−MM−DD', onde AAAA corresponde ao ano, MM ao mês, e DD ao
dia. Ele pode variar de 0000−00−00 a 9999−12−31. Exemplo: nascimento
DATE;
TEXT/BLOB
Os campos texto e blob são usados para guardar grandes quantidades de
caracteres. Podendo conter de 0 a 65535 bytes, os blobs e texts são úteis para
armazenar documentos completos, como este que você está lendo. A única
diferença entre os campos BLOB e TEXT está no fato de um campo TEXT não
5
ser sensível a letras maiúsculas e minúsculas quando uma comparação é
realizada, e os BLOBs sim. Exemplo: relatorio BLOB; relatorio TEXT;
SET
Um campo interessante, que permite que o usuário faça uma escolha dado
determinado número de opções. Cada campo pode conter até‚ 64 opções.
Exemplo: vicio SET("cafe", "cigarro") NOT NULL;
Neste exemplo este campo pode conter apenas os seguintes itens:
""
"cafe"
"cigarro"
"cafe,cigarro"
ENUM
Um campo com funcionamento semelhante ao SET, com a diferença que
apenas um valor pode Ser escolhido. Exemplo: virtude ENUM("programar",
"amar") NOT NULL;
Neste exemplo este campo pode conter os seguintes valores:
""
"programar"
"amar"
Registros
Um conjunto de campos relacionados, forma o que chamamos de registro. Um
registro, portanto, pode ter a seguinte estrutura:
nome CHAR(15);
email CHAR(25);
telefone INT;
Neste exemplo, nosso registro contém três campos, podendo armazenar o
email e o telefone de uma determinada pessoa. Observe que o campo nome foi
definido como CHAR, portanto poderá conter qualquer tipo de caractere,
contudo, o campo telefone, definido como INT, poderá apenas conter números,
pois foi configurado como INT.
6
1.2 Tabelas
Abra o Command Line Client do MySQL e crie uma nova base de dados:
mysql> create database db1;
7
Opções de uma tabela:
As seguintes opções podem ser adicionadas a qualquer campo de uma tabela,
concatenando recursos adicionais a estes campos.
−Chave primária:
Usado para que não seja permitido, que o usuário consiga cadastrar dois
registros com chaves primárias iguais. Isto é claramente útil, quando não é
desejado que seja digitado um segundo registro igual ao primeiro por engano.
Para se definir uma chave primária, basta adicionar 'PRIMARY KEY' a
definição do campo que se deseja a não duplicidade.
Exemplo: nome CHAR(15) PRIMARY KEY;
Esta declaração faz com que não seja permitido o cadastro na tabela de dois
registros com nomes iguais.
−Auto incremento:
Este recurso, faz com que conforme novos registros são criados,
automaticamente estes obtém valores que correspondem ao valor deste
mesmo campo no registro anterior, somado a 1.
Exemplo: codigo INT AUTO_INCREMENT;
Soma um a cada registro automaticamente neste campo. Começando de 1,
com inserção subsequente.
−Mostrar tabelas
Função: Lista todas as tabelas existentes no banco de dados atual.
Comando: mysql>show tables;
−Mostrar colunas
Função: Mostra as informações referentes a estrutura, ou seja, as colunas da
tabelas desejada.
Comando: mysql>show columns from teste;
8
Manipulando a base de dados
Uma base de dados pode ser manipulada com quatro operações básicas:
Incluir, Apagar, Alterar, e Pesquisar. Estes tópicos serão brevemente
abordados nas seções seguintes:
Seleciona base de dados:
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
use teste;
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
−Cria tabela:
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
mysql> CREATE TABLE teste(
>codigo INT,
>nome CHAR(15),
>email CHAR(25),
>telefone INT);
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Inserindo registros
Para se adicionar dados a uma tabela, usamos o comando INSERT, que diz
por si só sua função, como o exemplo que segue:
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
−mysql>INSERT INTO teste VALUES
mysql>(NULL, 'Ernesto', 'ernesto@nbsnet.com.br',
mysql>2742729);
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Observações:
−Apostrofes foram colocadas na entrada de campos tipo CHAR. Todos os
campos que contém texto, ou seja, CHAR, VARCHAR, BLOB, TEXT, etc. têm
de ficar entre apóstrofes, ou um erro ocorrerá;
−Para campos do tipo número, não se usam apóstrofes.
−A entrada NULL em um campo do tipo auto−incremento, permite que o
MySQL providencie o conteúdo deste campo de forma automática. No caso do
9
primeiro campo, o valor será 1, no segundo 2, no terceiro 3 e assim
consecutivamente.
−Se possuíssemos um campo DATE, a entrada NULL faria com que o valor
gravado no registro se torne a data atual.
Nota:
É importante lembrar sempre de passar para o comando INSERT um número
de parâmetros igual ao número de campos na tabela que está recebendo os
dados. Caso contrário, você obterá uma mensagem de erro. O mesmo erro
também ocorre ao tentar inserir mais parâmetros do que o número de campos
suportado pela tabela.
Nota 2:
Uma das grandes vantagens do MySQL é a capacidade de conversão entre
campos. O sistema automaticamente converte números em caracteres, ou em
datas sem problemas.
Pesquisando registros
As pesquisas no MySQL são feitas através do comando SELECT. Este
comando pode fazer desde uma simples e trivial pesquisa até uma pesquisa
extremamente complexa.
Exemplos:
Ação:
10
Apagando registros
Quando um registro não nos é mais útil, podemos apagá−lo, para que a tabela
não contenha dados obsoletos.
Ação:
mysql>DELETE FROM teste
mysql>WHERE (telefone = 2744747);
Resultado: Apaga da tabela teste todos os registros que têm o conteúdo
"2744747" no campo telefone.
Alterando registros
Para tal, existe o comando UPDATE. Observe os exemplos:
Ação:
mysql>UPDATE teste SET nome = 'Maria Ana'
mysql>WHERE nome = 'Maria';
Resultado:
Procura na tabela um registro que contenha no campo nome o conteúdo
'Maria', definido pelo comando WHERE. Encontrado o registro, ele é
substituído pelo nome definido no comando SET, que é 'Maria Ana'.
Operadores
O MySQL é repleto de comandos avançados que permitem fazer operações
para todas as necessidades. Veremos agora alguns comandos avançados do
MySQL:
Operadores lógicos:
O MySQL suporta todas operações lógicas, estando abaixo listadas as mais
conhecidas:
AND (&&)
O operador lógico AND, ou E, deve ser usado em uma pesquisa que se deseja
entrar dois valores. O AND verifica ambas as clausulas da comparação, e só
retorna algum valor se as duas tiverem uma resposta verdadeira. Observe o
exemplo:
11
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
mysql>SELECT * FROM teste WHERE
mysql>(nome = "Aline") AND
mysql>(telefone = 2728918);
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
A pesquisa mostrará todos os registros que contém no campo nome e
conteúdo "Aline", E (AND) no campo telefone, o conteúdo 2728988.
OR (||)
O operador lógico OR, ou OU, deve ser usado em uma pesquisa que se deseja
entrar dois valores.
O exemplo abaixo verifica ambas as cláusulas da comparação, e retorna
valores se qualquer um dos membros obtiver resultado.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
mysql>SELECT * FROM teste WHERE
mysql>(nome = "Aline") OR
mysql>(telefone = 2728918);
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Este pesquisa fará com que todos os resultados que contenham o conteúdo
"Aline" no campo nome, OU 2728918 sejam exibidos na tela.
NOT (!)
O operador lógico NOT, ou NÃO, realiza uma pesquisa, excluindo valores
determinados do resultado.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
mysql>SELECT * FROM teste WHERE
mysql>(nome != "Aline");
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Esta pesquisa listara todos os registros da base de dados teste, NÃO (NOT)
mostrando aqueles que possuem "Aline" como conteúdo do campo nome.
12
ORDER BY
O operador lógico ORDER BY, ou ORDENAR POR, simplesmente lista os
registros, colocando−os em ordem de acordo com o campo solicitado.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
mysql>SELECT * FROM teste WHERE
mysql>(nome = "Aline")
mysql>ORDER BY telefone;
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
O resultado desta busca resultara em todos os registros contendo "Aline" no
campo nome, e a listagem será organizada de acordo com a ordem do
telefone.
13
2. CONFIGURAÇÃO DO BANCO DE DADOS MYSQL
14
Clique com o botão direito do mouse no servidor MySQL criado:
15
2.2 Criação das tabelas
Da mesma forma como explicado anteriormente, poderá ser feito com a criação
das tabelas, via comandos SQL ou via modo gráfico.
Para o primeiro caso, basta entrar com o código SQL para criação da
tabela. Ex: Criação da Tabela Usuario, a qual será usada para
realizarmos a verificação de usuário e senha válidos para nossa área
restrita:
Para o caso de criação via modo gráfico, basta seguir os passos abaixo:
16
2.3 Exemplos de utilização de comandos SQL no MYSQL
Entre com o código SQL para criação da tabela. Ex: Inserção de um registro na
Tabela Usuário:
Ou, via modo gráfico, dê dois cliques sobre a tabela criada e na seqüência,
clique em adicionar registro, clicando no botão assinalado abaixo:
17
2.3.2 Seleção de registros na tabela
Caso precisemos que a seleção nos mostre, por exemplo, somente os registros
que possuem o login ‘adm’:
Caso precisemos que a seleção nos mostre, por exemplo, somente os registros
que possuem o nome de usuário vazio:
Caso precisemos alterar o login (que continha o valor “adm”) para receber o
valor administrador, e a senha (que continha o valor “1”), para receber o valor
“1234”
18
3. EXEMPLOS MYSQL X PHP
Crie uma base de dados chamada teste2.
Crie a tabela como mostrado no código abaixo:
ex_bd.php
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?
if (mysql_connect("127.0.0.1", "root", "") or die("Não foi possível
conectar"))
echo "Conexão com o servidor realizada com a com
sucesso<br>";
if (mysql_select_db("teste2") or die("Não foi possível selecionar o banco
de dados"))
echo "Conexão com o banco de dados teste realizada com a com
sucesso<br>";
if (mysql_query("SELECT * FROM Clientes") or die("Falha na execução
da consulta"))
echo "Consulta à tabela Clientes realizada com sucesso";
?>
</body>
</html>
<?
mysql_connect("localhost","root","") or die("Erro de conexão");
mysql_select_db("teste2") or die("Base de dados não existe");
?>
19
ex_bd1.php
$linha = mysql_fetch_assoc($resultado);
$NomeDaEmpresa = $linha["NomeDaEmpresa"];
$NomeDoContato = $linha["NomeDoContato"];
echo "<b>Nome da empresa:</b> $NomeDaEmpresa<br>";
echo "<b>Nome do contato:</b> $NomeDoContato";
?>
</body>
</html>
ex_bd2.php
?>
</body>
</html>
20
ex_bd2_1.php
ex_bd3.php
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
$link = mysql_connect("127.0.0.1", "root", "") or die("Não foi possível
conectar");
mysql_select_db("teste") or die("Não foi possível selecionar o banco de
dados");
$consulta = "SELECT * FROM Clientes";
$resultado = mysql_query($consulta) or die("Falha na execução da
consulta");
while ($linha = mysql_fetch_assoc($resultado))
{
$NomeDaEmpresa = $linha["NomeDaEmpresa"];
$NomeDoContato = $linha["NomeDoContato"];
echo "<b>Nome da empresa:</b> $NomeDaEmpresa<br>";
echo "<b>Nome do contato:</b> $NomeDoContato<p>";
}
?>
</body>
</html>
21
ex_bd4.php
<?
//$cidade = mysql_result($resultado,0,'Cidade');
//echo "<b>Cidade: </b> $cidade<br>";
}
?>
</table>
</body>
</html>
22
ex_bd5.php
<?
if ($cor == '#DEE3EB')
$cor = '#ffffff';
else if ($cor == '#ffffff')
$cor = '#ffffcc';
else
$cor = '#DEE3EB';
//$cidade = mysql_result($resultado,0,'Cidade');
//echo "<b>Cidade: </b> $cidade<br>";
}
?>
</table>
</body>
</html>
23
ex_bd6.php
<?
if ($cor == '#DEE3EB')
$cor = '#ffffff';
else if ($cor == '#ffffff')
$cor = '#ffffcc';
else
$cor = '#DEE3EB';
//$cidade = mysql_result($resultado,0,'Cidade');
//echo "<b>Cidade: </b> $cidade<br>";
}
?>
</table>
</body>
</html>
24
ex_bd7.php
ex_bd8.php
25
ex_bd9.php
ex_bd10.php
26
ex_bd11.php
27
Exemplo de um livro de visitas:
index.php
<html>
<head>
<title>Livro de Visitas: Assinar</title>
</head>
<body bgcolor="white">
<h1>Assine o Livro de Visitas</h1>
<?
if ($err) {
?>
<ul><font color="red"><? echo $err; ?></font></ul>
<?
}
?>
<form method="post" action="assinar.php">
<table border="0">
<tr>
<td>Nome: </td>
<td><input type="text" size="60" name="nome" maxlength="250"></td>
</tr>
<tr>
<td>Localização: </td>
<td><input type="text" size="60" name="localizacao" maxlength="45"></td>
</tr>
<tr>
<td colspan="2">
<textarea cols="60" rows="10" name="mensagem">Digite aqui sua
mensagem!</textarea>
</td>
</tr>
</table>
<input type="submit" value="Assinar">
</form>
</body>
</html>
28
assinar.php
<?
// getenv -> Retorna o nome da variável de ambiente varname, ou FALSE em
caso de erro, ou seja, caso o modulo de chamada do form não seja post ele
retorna erro
if (getenv("REQUEST_METHOD") == "POST") {
// Captura o valor dos campos digitado e atribui a uma variável
$nome = $_POST['nome'];
$localizacao = $_POST['localizacao'];
$mensagem = $_POST['mensagem'];
// Verifica se os campos foram preenchidos, caso não chama o index.php
denovo e mostra mensagem de erro
if ($nome and $localizacao and $mensagem) {
$conexao = mysql_connect("localhost","root","");
mysql_select_db("bdvisitas",$conexao);
$query = "INSERT INTO livro_visita
VALUES('00000','$nome','$localizacao','$mensagem',NOW())";
mysql_query($query,$conexao);
header("Location: index.php");
} else {
$err = "Preencha todos os campos!";
header("Location: index.php?err=$err");
}
}
?>
29
4. MODELO DE ÁREA RESTRITA E CADASTRO DE USUÁRIOS
No Dreamweaver, abra uma nova página dinâmica (PHP). Esta virá com os
comandos HTML abaixo:
</body>
</html>
Crie uma tabela com 4 linhas, uma coluna em cada linha e com largura
de 780 pixels (isso porque vamos colocar uma figura no cabeçalho com
essa largura) e altura 100%. Centralize a tabela.
A primeira linha deverá estar com 66 pixels (isso porque vamos colocar
uma figura com essa altura).
A segunda linha deverá estar com 20 pixels de altura.
A terceira linha deverá estar com 100% de altura. Subdivida a terceira
linha em 3 colunas.
30
Para deixar nossa tabela alinhada no topo da página, faça:
31
Acesse a página http://www.unicep.edu.br e clique em pesquisa. Copie a
primeira figura do cabeçalho e colem no Paint. Na seqüência deixe somente o
logo da UNICEP no canto direito e pinte o resto de azul. Salve a figura como
nome barracima.gif, numa pasta com o nome imagens, dentro de nosso
diretório:
C:\phpdev\www\public\php\imagens\
32
No caso dos nossos textfields (campos de usuário e senha), coloque como
nomes: usuario e senha respectivamente e um botão para submeter o
formulário.
33
4.1 PHP com HTML
34
Acrescente comentários no código HTML de onde serão os inícios e términos
de cada parte. Ex:
Logo após o término da segunda linha, inclua o código de comentário:
<!-- FIM DO CABEÇALHO E INÍCIO DO CONTEUDO -->
<script>
function verifica()
{
if ((document.frmteste.usuario.value) && (document.frmteste.senha.value))
document.frmteste.submit()
else
alert("Campo Usuário ou senha não está preenchido!");
}
</script>
Caso não tenha criado ainda a tabela de usuario, segue abaixo o código para
criação da tabela:
Para o PHP interagir com uma base de dados SQL, independente da base de
dados, existem três comandos básicos que devem ser utilizados:
um que faz a ligação com o servidor da base de dados;
um que seleciona a base de dados a ser utilizada;
um que executa uma "query" SQL.
Como mostrado anteriormente, o nosso form, após ser submetido, irá chamar,
via função post, o arquivo acesso.php .
<?
require_once('conexao.php');
session_start();
$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
$rset = mysql_query("Select * from Usuario where login_us ='$usuario' and senha_us ='$senha'");
if (mysql_num_rows($rset) > 0)
{
if(!(session_is_registered("idusuario")))
$_SESSION["idusuario"] = mysql_result($rset,0,'idusuario_us');
header("Location: opcoes.php");
}
else
header("Location: index.php");
?>
36
Logo no início, é feita a conexão com o servidor e selecionada a base de
dados. Através do comando REQUIRE_ONCE(‘conexao.php’) incluiremos o
arquivo de conexão.
Na seqüência, será criada a sessão, mas para que isso ocorra, será necessário
que o usuário e senha fornecidos em nossa página inicial sejam válidos, isto é,
eles devem existir em nossa base de dados.
37
Primeiro, os parâmetros de usuário e senha são recuperados através da
variável pré-definida $_POST, pois os parâmetros foram passados via método
POST. Poderia ser utilizado também o comando $_REQUEST (no caso do uso
de request, não importa o método utilizado). Na seqüência é feita uma busca
na base de dados para verificar se são válidos.
Obs.: Caso não atenda alguma verificação acima, será redirecionada para a
página inicial (index.php).
opcoes.php
<html>
<head>
<title>Untitled Document</title>
</head>
<body topmargin="0">
<table width="800" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="400" valign="top"><table width="800" height="80" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td height="80" bgcolor="#E6F2FF"><strong>ÁREA RESTRITA </strong></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><strong>OPÇÕES</strong></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><a href="listausuarios.php">► Cadastro de Usuários</a> </td>
</tr>
<tr>
<td><a href="listaprodutos.php">► Cadastro de Produtos</a> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table> </td>
</tr>
<tr>
<td height="40" bgcolor="#E6F2FF">
38
<form id="form1" name="formsair" method="post" action="destroi_sessao.php">
<div align="center">
<input type="reset" name="Reset" value="Sair" onclick="javascript: window.document.formsair.submit();" />
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
Caso o usuário deseje SAIR, basta submeter o formulário, o qual irá chamar a
próxima página (destroi_sessao.php). Este arquivo conterá o código abaixo,
onde podemos ver a sessão sendo limpa e na seqüência, sendo destruída.
Após ser destruída, redirecionamos para a página inicial.
<?
session_start();
unset($_SESSION['idusuario']); // limpa a sessão usuario
session_destroy(); // destroy a sessão criada
header ('Location: index.php'); // redireciona para a página inicial
?>
<?
session_start();
if(session_is_registered("idusuario"))
{
?>
<?
}
else
{
header("Location: index.php");
}
?>
39
4.5 Criação do cadastro de Usuário
<html>
<head>
<title>..:: Área restrita ::..</title>
</head>
<body topmargin="0">
<table width="800" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="400" valign="top">
<form id="form1" name="form1" method="post" action="">
<table width="800" height="80" border="1" cellpadding="0" cellspacing="0" bordercolor="#DCECEF">
<tr>
<td height="80" colspan="4" bgcolor="#E6F2FF"><strong>ÁREA RESTRITA </strong></td>
</tr>
<tr>
<td colspan="4"><strong>CADASTRO DE USUÁRIOS </strong></td>
</tr>
<tr>
<td colspan="4">
<table width="800" height="80" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="287" bgcolor="#DCECEF"><strong>Usuário</strong></td>
<td width="289" bgcolor="#DCECEF"><strong>Senha</strong></td>
<td colspan="2" bgcolor="#DCECEF"><div align="center"><strong>Opções</strong></div></td>
</tr>
<tr>
<td>nome</td>
40
<td>senha</td>
<td width="116"><div align="center"><a href="cadusuario.php">ALTERAR</a></div></td>
<td width="108"><div align="center"><a href="cadusuario.php">EXCLUIR</a></div></td>
</tr>
<tr>
<td colspan="4"><div align="center">Nenhum registro encontrado! </div> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="4"><div align="center">|| <a href="javascript: history.go(-1);">VOLTAR</a> || <a
href="cadusuario.php">INSERIR</a> || </div></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td height="40" bgcolor="#E6F2FF">
<form id="form1" name="formsair" method="post" action="destroi_sessao.php">
<div align="center">
<input type="reset" name="Reset" value="Sair" onclick="javascript: window.document.formsair.submit();" />
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
<body topmargin="0">
.
.
.
</body>
</html>
<?
}
else
{
header('Location: index.php');
}
?>
41
4.5.1 Listagem de Usuários
Para gerar uma listagem de usuários, clique na linha que receberá os valores,
conforme mostra a figura abaixo:
<?
$sql = "Select * from Usuario Order by login_us";
$rset = mysql_query($sql,$db);
$total = mysql_num_rows($rset);
$i = 0;
while ($i < $total)
{
$idUsuario = mysql_result($rset,$i,'idUsuario_us');
$nomeUsuario = mysql_result($rset,$i,'login_us');
$senha1 = mysql_result($rset,$i,'senha_us');
?>
<tr>
<td><?= $nomeUsuario ?></td>
<td><?= $senha1 ?></td>
</tr>
42
Caso não houver nenhum registro cadastrado, isto é, se nossa variável $i for
igual a 0, mostraremos a mensagem “Nenhum registro encontrado!”, como
mostra o código abaixo:
<?
$i++;
}
if ($i== 0)
{
?>
<tr>
<td colspan="4"><div align="center">Nenhum registro encontrado! </div> </td>
</tr>
<?
}
?>
<tr>
<td colspan="4"><div align="center">|| <a href="javascript: history.go(-1);">VOLTAR</a> ||
<a href="cadusuario.php?opcao=I&mostrar=true&voltar=1">INSERIR</a> || </div></td>
</tr>
Obs.: Será explicado mais adiante o uso dos parâmetros que estão sendo
passados (opcao, mostrar e voltar) no link INSERIR.
43
4.5.2 Inserção de Usuários
<html>
<head>
<title>Untitled Document</title>
<script>
function verifica()
{
if ((document.form1.senha1.value != "") && (document.form1.senha1.value ==
document.form1.senha2.value))
document.form1.submit()
else
alert("Os campos senha1 e senha2 estão vazios ou não são iguais. Por
favor, digite novamente!");
}
</script>
</head>
<body topmargin="0">
<table width="800" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="400" valign="top">
<form id="form1" name="form1" method="post" action="<?=$PHP_SELF ?>">
<table width="800" height="80" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="80" colspan="2" bgcolor="#E6F2FF"><span class="style1">ÁREA
RESTRITA </span></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><strong> Tipo de cadastro </strong></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td width="121"><div align="right">Usuário:</div></td>
44
<td width="679"><input name="nome" type="text" size="20" value="">
</td>
</tr>
<tr>
<td><div align="right">Senha:</div></td>
<td><span class="Texto">
<input name="senha1" type="password" id="senha1" size="20" value=""/>
</span></td>
</tr>
<tr>
<td><div align="right">Confirme a senha: </div></td>
<td><span class="Texto">
<input name="senha2" type="password" id="senha2" size="20" value=""/>
</span></td>
</tr>
</table>
<input name="passou" type="hidden" value="true"/>
<input name="opcao" type="hidden" value=""/>
<input name="id" type="hidden" value=""/>
<input name="mostrar" type="hidden" value=""/>
</form>
</td>
</tr>
<tr>
<td height="40" bgcolor="#E6F2FF"><label>
<div align="center">|| <a href="javascript: history.go(-<?=$voltar?>);">VOLTAR</a> ||
<? if ($mostrar == true){ ?>
<a href="javascript:verifica();">AVANÇAR</a> ||
<? } ?>
</div></label></td>
</tr>
</table>
</body>
</html>
45
Será incluído um campo hidden (campo escondido) com um parâmetro, por
exemplo, “passou = true”, o qual entenderá que na próxima passagem ele
mostre a segunda parte da página e omita a primeira.
<?
if (!$passou)
{
?>
<tr>
<td width="121"><div align="right">Usuário:</div></td>
<td width="679"><input name="nome" type="text" size="20" value="">
</td>
</tr>
<tr>
<td><div align="right">Senha:</div></td>
<td><span class="Texto">
<input name="senha1" type="password" id="senha1" size="20" value=""/>
</span></td>
</tr>
<tr>
<td><div align="right">Confirme a senha: </div></td>
<td><span class="Texto">
<input name="senha2" type="password" id="senha2" size="20" value=""/>
</span></td>
</tr>
<?
}
else
{
echo (‘Espaço para os comandos da Inserção’);
}
?>
<?
require_once('conexao.php');
session_start();
if(session_is_registered("idusuario"))
{
$id = $_REQUEST["id"];
$usuario = $_REQUEST["nome"];
$op = $_REQUEST["opcao"];
$mostrar = $_REQUEST["mostrar"];
$voltar = $_REQUEST["voltar"];
46
$passou = $_REQUEST["passou"];
$senha1 = $_REQUEST["senha1"];
$disb ="";
if ($op == 'I')
$mensagem = "INSERÇÃO DE USUÁRIO";
else if ($op == 'A')
$mensagem = "ALTERAÇÃO DE USUÁRIO";
else if($op == 'E')
{
$mensagem = "EXCLUSÃO DE USUÁRIO";
$disb =" disabled";
}
?>
<?php
}
else
{
$mostrar = false;
$voltar = 2;
47
$total = mysql_num_rows($rset);
if ($total > 0)
{
?>
<tr>
<td colspan="2"><div align="center">Usuario <strong><?=
$usuario?></strong> ja existe no banco! </div></td>
</tr>
<?
}
else
{
$sql = "Select MAX(idusuario_us) as maximo from Usuario";
$rset = mysql_query($sql);
$total2 = mysql_result($rset,'0','maximo') + 1;
$sql = "Insert into Usuario (idusuario_us, login_us, senha_us) Values (".
$total2.",'".$usuario."','".$senha1."')";
$rset = mysql_query($sql);
echo " <tr><td><div align='center'>Usuario <strong> $usuario </strong>
inserido com sucesso! </div></td> </tr> ";
}
}
}
?>
if ($op != 'I')
{
$consulta = "Select senha_us from Usuario where idusuario_us = $id";
$resultado = mysql_query($consulta);
$linha = mysql_fetch_assoc($resultado);
$senha1 = $linha['senha_us'];
}
48
4.5.3 Alteração de Usuários
49
** Cadastro de Produtos **
listaprodutos.php
<?
require_once('conexao.php');
session_start();
if(session_is_registered("idusuario"))
{
?>
<html>
<head>
<title>..:: Área Restrita ::..</title>
<style type="text/css">
<!--
.style1 {color: #003366;
font-weight: bold;
font-size: 24px;
}
-->
</style>
</head>
<body topmargin="0">
<table width="800" height="391" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="349" valign="top">
<form id="form1" name="form1" method="post" action="">
<table width="800" height="80" border="1" cellpadding="0" cellspacing="0"
bordercolor="#DCECEF">
<tr>
<td height="80" colspan="4" bgcolor="#E6F2FF"><span class="style1">ÁREA
RESTRITA </span></td>
</tr>
<tr>
<td colspan="4"><strong>CADASTRO DE PRODUTOS </strong></td>
</tr>
<tr>
<td colspan="4">
<table width="800" height="80" border="1" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#DCECEF"><strong>Descrição</strong></td>
<td colspan="2" bgcolor="#DCECEF"><div
align="center"><strong>Opções</strong></div></td>
50
</tr>
<?php
$sql = "Select * from Produto Order by descricao_prod";
$rset = mysql_query($sql,$db);
$total = mysql_num_rows($rset);
$i = 0;
while ($i < $total)
{
$idproduto = mysql_result($rset,$i,'idproduto_prod');
$descricao = mysql_result($rset,$i,'descricao_prod');
?>
<tr>
<td><?= $descricao ?></td>
<td width="116"><div align="center"><a href="cadproduto.php?id=<?=$idproduto?
>&nome=<?=$descricao?>&opcao=A&mostrar=true&voltar=1">ALTERAR</a></div></td>
<td width="108"><div align="center"><a href="cadproduto.php?id=<?=$idproduto?
>&nome=<?=$descricao?>&opcao=E&mostrar=true&voltar=1">EXCLUIR</a></div></td>
</tr>
<?
$i++;
}
if ($i== 0)
{
?>
<tr>
<td colspan="3"><div align="center">Nenhum registro encontrado! </div> </td>
</tr>
<?
}
?>
</table>
</td>
</tr>
<tr>
<td colspan="4"><div align="center">|| <a href="javascript: history.go(-1);">VOLTAR</a> ||
<a href="cadproduto.php?opcao=I&mostrar=true&voltar=1">INSERIR</a> || </div></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td height="40" bgcolor="#E6F2FF">
<form id="form1" name="formsair" method="post" action="destroi_sessao.php">
<div align="center">
<input type="reset" name="Reset" value="Sair" onClick="javascript:
window.document.formsair.submit();" />
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
<?
} else {
header('Location: index.php');
}
?>
cadproduto.php
51
<?
require_once('conexao.php');
session_start();
if(session_is_registered("idusuario"))
{
$id = $_REQUEST["id"];
$descricao = $_REQUEST["nome"];
$op = $_REQUEST["opcao"];
$mostrar = $_REQUEST["mostrar"];
$voltar = $_REQUEST["voltar"];
$passou = $_REQUEST["passou"];
$disb ="";
if ($op == 'I')
$mensagem = "INSERÇÃO DE PRODUTOS";
else if ($op == 'A')
$mensagem = "ALTERAÇÃO DE GRUPO";
else if($op == 'E')
{
$mensagem = "EXCLUSÃO DE GRUPO";
$disb =" disabled";
}
?>
<html>
<head>
<title>..:: Área Restrita ::..s</title>
<style type="text/css">
<!--
.style1 {
color: #003366;
font-weight: bold;
font-size: 24px;
}
-->
</style>
</head>
<body>
<table width="800" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="400" valign="top">
<form id="form1" name="form1" method="post" action="<?=$PHP_SELF ?>">
<table width="800" height="80" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="80" bgcolor="#E6F2FF"><span class="style1">ÁREA RESTRITA
</span></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><strong><?=$mensagem?> </strong></td>
</tr>
<tr>
<td> </td>
</tr>
<?php
if (!$passou)
{
if ($op != 'I')
{
52
$sql = "Select * from Produto where idproduto_prod =". $id;
$rset = mysql_query($sql,$db);
$descricao = mysql_result($rset,'0','descricao_prod');
$detalhe = mysql_result($rset,'0','detalhe_prod');
$aplicacao = mysql_result($rset,'0','aplicacao_prod');
$imagem = mysql_result($rset,'0','imagem_prod');
$promocao = mysql_result($rset,'0','promocao_prod');
$preco = mysql_result($rset,'0','preco_prod');
$idsubgrupo = mysql_result($rset,'0','idgrupo_prod');
}
?>
<tr>
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr valign="middle">
<td width="17%" height="20" class="Texto"><div align="right">
Descrição: </div></td>
<td width="83%" height="20" class="Texto"><input name="descricao" type="text" id="descricao"
value="<?= $descricao ?>" size="70" maxlength="70" <?=$disb?> ></td>
</tr>
<tr valign="middle">
<td height="20" class="Texto"><div align="right">Detalhe: </div></td>
<td height="20" class="Texto"><input name="detalhe" type="text" id="detalhe" value="<?=
$detalhe ?>" size="70" maxlength="70" <?=$disb?> ></td>
</tr>
<tr valign="middle">
<td height="20" class="Texto"><div align="right">Aplicação: </div></td>
<td height="20" class="Texto"><input name="aplicacao" type="text" id="aplicacao" value="<?=
$aplicacao ?>" size="70" maxlength="70" <?=$disb?> ></td>
</tr>
<tr valign="middle">
<td height="20" class="Texto"><div align="right">Nome do Logo : </div></td>
<td height="20" class="Texto"><input name="nomelogo" type="text" id="nomelogo" value="<?=
$imagem ?>" size="70" maxlength="70" <?=$disb?> ></td>
</tr>
<tr valign="middle">
<td height="20" class="Texto"><div align="right">Upload do Logo : </div></td>
<td height="20" class="Texto">
<input name="upload" type="button" class="Texto" id="upload"
onClick="javascript:window.open('upload.php','upload','width=700,height=300');" value="Upload do
logotipo ...">
</td>
</tr>
<tr>
<td valign="top" class="Texto"><div align="right"> </div></td>
<td valign="top" class="Texto"> </td>
</tr>
<tr>
<td valign="top" class="Texto"><div align="right">Subgrupo : </div></td>
<td valign="top" class="Texto"><select name="grupo" id="grupo" <?=$disb?>>
<?php
$rset = mysql_query("select * from grupo order by nome_gr",$db);
$total = mysql_num_rows($rset);
$i = 0;
while ($i < $total)
{
$idsg = mysql_result($rset,$i,'idgrupo_gr');
$dan = mysql_result($rset,$i,'nome_gr');
if ($idsubgrupo == $idsg)
$sel = "SELECTED" ;
else $sel ="";
?>
53
<option value="<?= $idsg ?>" <?= $sel ?>><?= $dan ?></option>
<?
$i++;
}
?>
</select></td>
</tr>
<tr>
<td valign="top" class="Texto"><div align="right">Promoção :</div></td>
<td valign="top" class="Texto">
<select name="promocao" id="promocao" <?=$disb?>>
<?php
$s ="";
$n="";
if($promocao == "N")
$n ="SELECTED";
else $s ="SELECTED";
?>
<option value="S" <?=$s?>>Sim</option>
<option value="N" <?=$n?>>Não</option>
</select></td>
</tr>
<tr>
<td valign="top" class="Texto"><div align="right">Preço : </div></td>
<td valign="top" class="Texto"><input name="preco" type="text" id="preco" value="<?=
$preco ?>" size="10" maxlength="10" <?=$disb?> >
(Utilizar . (ponto) para casas decimais.Ex : 14.15</td>
</tr>
<tr>
<td valign="top" class="Texto"><div align="right"></div></td>
<td valign="top" class="Texto"> </td>
</tr>
<tr>
<td colspan="2" valign="top" class="Texto"> </td>
</tr>
</table>
</td>
</tr>
<?php
}
else
{
$mostrar = false;
$voltar = 2;
$descricao = $_REQUEST["descricao"];
$detalhe = $_REQUEST["detalhe"];
$aplicacao = $_REQUEST["aplicacao"];
$imagem = $_REQUEST["nomelogo"];
$promocao = $_REQUEST["promocao"];
$preco = $_REQUEST["preco"];
$idgrupo = $_REQUEST["grupo"];
if($op == 'A')
{
if ($descricao <> "")
{
$sql = "Update Produto set descricao_prod = '$descricao', detalhe_prod
='$detalhe', aplicacao_prod ='$aplicacao', imagem_prod ='$imagem', promocao_prod ='$promocao',
preco_prod =$preco, idgrupo_prod =$idgrupo where idproduto_prod = $id";
$rset = mysql_query($sql,$db);
echo " <tr><td><div align='center'>Produto <strong> $descricao </strong>
alterado com sucesso! </div></td> </tr> ";
}
54
}
else if($op == 'I')
{
if ($descricao <> "")
{
$sql = "Select descricao_prod from Produto where descricao_prod ='".
$descricao."'";
$rset = mysql_query($sql,$db);
$total = mysql_num_rows($rset);
if ($total > 0)
{
?>
<tr>
<td><div align="center">Produto <strong> <?= $descricao?
></strong> já existe no banco! </div></td>
</tr>
<?php
}
else
{
$sql = "Select MAX(idproduto_prod) as maximo from Produto";
$rset = mysql_query($sql,$db);
$total2 = mysql_result($rset,'0','maximo') + 1;
$sql = "Insert into Produto(idproduto_prod, descricao_prod,
detalhe_prod, aplicacao_prod, imagem_prod, promocao_prod, preco_prod, idgrupo_prod) Values (".
$total2.",'".$descricao."','".$detalhe."','".$aplicacao."','".$imagem."','".$promocao."',".$preco.",".
$idgrupo.")";
$rset = mysql_query($sql,$db);
echo " <tr><td><div align='center'>Produto <strong> $descricao_
</strong> inserido com sucesso! </div></td> </tr> ";
}
}
}
else
{
$sql = "Delete from Produto where idproduto_prod = $id";
$rset = mysql_query($sql,$db);
echo " <tr><td><div align='center'>Produto <strong> $descricao_ </strong> removido
com sucesso! </div></td> </tr> ";
}
}
?>
</table>
<input name="passou" type="hidden" value="true"/>
<input name="opcao" type="hidden" value="<?=$op?>"/>
<input name="id" type="hidden" value="<?=$id?>"/>
<input name="mostrar" type="hidden" value="<?=$mostrar?>"/>
</form>
</td>
</tr>
<tr>
<td height="40" bgcolor="#E6F2FF"><label>
<div align="center">|| <a href="javascript: history.go(-<?=$voltar?>);">VOLTAR</a> ||
<? if ($mostrar == true){ ?>
<a href="javascript:document.form1.submit();">AVANÇAR</a> ||
<? } ?>
</div></label></td>
</tr>
</table>
</body>
</html>
<?
55
}
else
{
header('Location: index.php');
}
?>
upload.php
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
if (isset($_FILES['arquivo']['name']))
{
$uploaddir = 'c:\\phpdev\www\public\php\imagens\\';
$arquivo = $uploaddir. $_FILES['arquivo']['name'];
if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $arquivo))
print "O arquivo foi gravado com sucesso.";
else
print "Erro. O arquivo não foi enviado.";
}
?>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Enviar este arquivo: <input name="arquivo" type="file">
<input type="submit" value="Envia Arquivo">
</form>
</body>
</html>
produtos.php
56
$sql = "Select * from Produto Order by descricao_prod";
$rset = mysql_query($sql,$db);
$total = mysql_num_rows($rset);
$i = 0;
while ($i < $total)
{
$idproduto = mysql_result($rset,
$i,'idproduto_prod');
$descricao = mysql_result($rset,$i,'descricao_prod');
$det = mysql_result($rset,$i,'detalhe_prod');
$aplic = mysql_result($rset,$i,'aplicacao_prod');
$preco = mysql_result($rset,$i,'preco_prod');
$preco = number_format($preco, 2, '.', '');
$imagem = mysql_result($rset,$i,'imagem_prod');
?>
<tr class="Texto">
<td width="80" rowspan="5"><img src="imagens/<?=$imagem?>" width="80" height="80"
/></td>
<td colspan="2" class="TituloTexto" style="font-size: 12px">
<?= $descricao ?></td>
</tr>
<tr class="Texto">
<td width="91"><span style="font-weight: bold; font-size:
12px"> Detalhe:</span> </td>
<td width="331"><span style="font-size: 12px">
<?= $det ?>
</span></td>
</tr>
<tr class="Texto">
<td><span style="font-size: 12px"> <span style="font-weight:
bold">Aplicação</span>: </span></td>
<td><span style="font-size: 12px">
<?= $aplic ?>
</span></td>
</tr>
<tr class="Texto">
<td><span style="font-weight: bold; font-size:
12px"> Preço</span><span style="font-size: 12px">: </span></td>
<td><span style="font-size: 12px">R$
<?= $preco ?>
</span></td>
</tr>
<tr class="Texto">
<td colspan="3"></td>
</tr>
<tr>
<td colspan="3"><hr /></td>
</tr>
<tr>
<?php
$i++;
}
if ($i == 0)
{
?>
<td colspan="3"><div align="left" class="Texto">
<div align="center">Nenhum produto cadastrado!</div>
</div></td>
</tr>
<?php
}
?>
57
</table></td>
</tr>
</table></td>
</tr>
</table></td>
<td width="18%" height="100%" valign="top" bgcolor="#E7EAEF"><table width="100%"
border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" bgcolor="#244D85"><div align="center" class="style21"></div></td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20" bgcolor="#2C4C85"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
</table></td>
</tr>
<!-- FIM DO CONTEUDO E INICIO DO RODAPE -->
<? require_once("rodape.php"); ?>
faleconosco.php
58
<?php
$sql = "Select * from Produto Order by descricao_prod";
$rset = mysql_query($sql,$db);
$total = mysql_num_rows($rset);
$i = 0;
while ($i < $total)
{
$idproduto = mysql_result($rset,
$i,'idproduto_prod');
$descricao = mysql_result($rset,$i,'descricao_prod');
$det = mysql_result($rset,$i,'detalhe_prod');
$aplic = mysql_result($rset,$i,'aplicacao_prod');
$preco = mysql_result($rset,$i,'preco_prod');
$preco = number_format($preco, 2, '.', '');
$imagem = mysql_result($rset,$i,'imagem_prod');
?>
<tr class="Texto">
<td width="80" rowspan="5"><img src="imagens/<?=$imagem?>" width="80" height="80"
/></td>
<td colspan="2" class="TituloTexto" style="font-size: 12px">
<?= $descricao ?></td>
</tr>
<tr class="Texto">
<td width="91"><span style="font-weight: bold; font-size:
12px"> Detalhe:</span> </td>
<td width="331"><span style="font-size: 12px">
<?= $det ?>
</span></td>
</tr>
<tr class="Texto">
<td><span style="font-size: 12px"> <span style="font-weight:
bold">Aplicação</span>: </span></td>
<td><span style="font-size: 12px">
<?= $aplic ?>
</span></td>
</tr>
<tr class="Texto">
<td><span style="font-weight: bold; font-size:
12px"> Preço</span><span style="font-size: 12px">: </span></td>
<td><span style="font-size: 12px">R$
<?= $preco ?>
</span></td>
</tr>
<tr class="Texto">
<td colspan="3"></td>
</tr>
<tr>
<td colspan="3"><hr /></td>
</tr>
<tr>
<?php
$i++;
}
if ($i == 0)
{
?>
<td colspan="3"><div align="left" class="Texto">
<div align="center">Nenhum produto cadastrado!</div>
</div></td>
</tr>
<?php
}
59
?>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
<td width="18%" height="100%" valign="top" bgcolor="#E7EAEF"><table width="100%"
border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" bgcolor="#244D85"><div align="center" class="style21"></div></td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20" bgcolor="#2C4C85"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
</table></td>
</tr>
<!-- FIM DO CONTEUDO E INICIO DO RODAPE -->
<? require_once("rodape.php"); ?>
Para encontrar nomes contendo exatamente cinco caracteres, use o caracter ‘-’:
SELECT * FROM pet WHERE name LIKE "-----";
60
buscaproduto.php
61
$idproduto = mysql_result($rset,
$i,'idproduto_prod');
$descricao = mysql_result($rset,$i,'descricao_prod');
$det = mysql_result($rset,$i,'detalhe_prod');
$aplic = mysql_result($rset,$i,'aplicacao_prod');
$preco = mysql_result($rset,$i,'preco_prod');
$preco = number_format($preco, 2, '.', '');
$imagem = mysql_result($rset,$i,'imagem_prod');
?>
<tr class="Texto">
<td width="80" rowspan="5"><img src="imagens/<?=$imagem?>" width="80" height="80"
/></td>
<td colspan="2" class="TituloTexto" style="font-size: 12px">
<?= $descricao ?></td>
</tr>
<tr class="Texto">
<td width="91"><span style="font-weight: bold; font-size:
12px"> Detalhe:</span> </td>
<td width="331"><span style="font-size: 12px">
<?= $det ?>
</span></td>
</tr>
<tr class="Texto">
<td><span style="font-size: 12px"> <span style="font-weight:
bold">Aplicação</span>: </span></td>
<td><span style="font-size: 12px">
<?= $aplic ?>
</span></td>
</tr>
<tr class="Texto">
<td><span style="font-weight: bold; font-size:
12px"> Preço</span><span style="font-size: 12px">: </span></td>
<td><span style="font-size: 12px">R$
<?= $preco ?>
</span></td>
</tr>
<tr class="Texto">
<td colspan="3"></td>
</tr>
<tr>
<td colspan="3"><hr /></td>
</tr>
<tr>
<?php
$i++;
}
if ($i == 0)
{
?>
<td colspan="3"><div align="left" class="Texto">
<div align="center">Nenhum produto cadastrado!</div>
</div></td>
</tr>
<?php
}
?>
</table>
62
</tr>
</table></td>
</tr>
</table></td>
<td width="18%" height="100%" valign="top" bgcolor="#E7EAEF"><table width="100%"
border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" bgcolor="#244D85"><div align="center" class="style21"></div></td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<tr>
<td height="20" bgcolor="#2C4C85"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
</table></td>
</tr>
<!-- FIM DO CONTEUDO E INICIO DO RODAPE -->
<? require_once("rodape.php"); ?>
63