O documento fornece instruções para criar um formulário online para pedidos de produtos utilizando CGI. Ele explica como criar a página HTML com campos para preenchimento de dados do cliente e seleção de itens, e também como criar o script CGI para processar o pedido.
Guia de criação de layout de lojas EZ CommerceRafael Berto
Este guia fornece recomendações para criar o layout de uma loja virtual na plataforma EZCommerce, incluindo desenvolver páginas como inicial, detalhes de produto, seções e pesquisa, além de elementos como cabeçalho, área central, rodapé e banners.
O documento discute o Marco Civil da Internet brasileiro, que visa proteger a privacidade online, garantir a neutralidade da rede e tornar a internet imputável. Ele descreve o processo colaborativo de desenvolvimento do marco legal e como ele estabelece direitos e deveres para o uso da internet no Brasil.
O documento descreve protocolos de rede como FTP, SMTP e DNS, além de sistemas P2P. FTP é usado para transferência de arquivos através de um modelo cliente-servidor, enquanto SMTP é usado para envio de emails entre servidores de correio. DNS mapeia nomes de domínio para endereços IP. Sistemas P2P como BitTorrent distribuem arquivos entre pares de usuários sem um servidor central.
O documento discute os principais conceitos e protocolos da camada de aplicação em redes de computadores, incluindo arquiteturas cliente-servidor e peer-to-peer, protocolos como HTTP, FTP e email, e programação de sockets com TCP e UDP.
O documento discute a missão, qualidade e compromisso educacional da instituição CESUMAR. Ele destaca que a missão é promover educação de qualidade formando cidadãos que contribuam para o desenvolvimento da sociedade. O documento também mostra os conceitos preliminares de curso do CESUMAR, o crescimento no número de alunos e colaboradores, assim como a expansão dos cursos a distância.
A camada de aplicação é a sétima camada do modelo OSI, responsável por identificar e estabelecer a disponibilidade de aplicações entre máquinas e disponibilizar recursos para comunicação entre elas, utilizando protocolos como HTTP, FTP, SMTP, POP3 e DNS.
O documento apresenta os principais projetos de pesquisa do Cetic.br, incluindo: (1) a produção de estatísticas TIC no Brasil; (2) as áreas de atuação do Cetic.br, como produção de indicadores, fomento de políticas públicas e cooperação internacional; (3) a missão e escopo de atuação regional do Cetic.br na América Latina e África.
Guia de criação de layout de lojas EZ CommerceRafael Berto
Este guia fornece recomendações para criar o layout de uma loja virtual na plataforma EZCommerce, incluindo desenvolver páginas como inicial, detalhes de produto, seções e pesquisa, além de elementos como cabeçalho, área central, rodapé e banners.
O documento discute o Marco Civil da Internet brasileiro, que visa proteger a privacidade online, garantir a neutralidade da rede e tornar a internet imputável. Ele descreve o processo colaborativo de desenvolvimento do marco legal e como ele estabelece direitos e deveres para o uso da internet no Brasil.
O documento descreve protocolos de rede como FTP, SMTP e DNS, além de sistemas P2P. FTP é usado para transferência de arquivos através de um modelo cliente-servidor, enquanto SMTP é usado para envio de emails entre servidores de correio. DNS mapeia nomes de domínio para endereços IP. Sistemas P2P como BitTorrent distribuem arquivos entre pares de usuários sem um servidor central.
O documento discute os principais conceitos e protocolos da camada de aplicação em redes de computadores, incluindo arquiteturas cliente-servidor e peer-to-peer, protocolos como HTTP, FTP e email, e programação de sockets com TCP e UDP.
O documento discute a missão, qualidade e compromisso educacional da instituição CESUMAR. Ele destaca que a missão é promover educação de qualidade formando cidadãos que contribuam para o desenvolvimento da sociedade. O documento também mostra os conceitos preliminares de curso do CESUMAR, o crescimento no número de alunos e colaboradores, assim como a expansão dos cursos a distância.
A camada de aplicação é a sétima camada do modelo OSI, responsável por identificar e estabelecer a disponibilidade de aplicações entre máquinas e disponibilizar recursos para comunicação entre elas, utilizando protocolos como HTTP, FTP, SMTP, POP3 e DNS.
O documento apresenta os principais projetos de pesquisa do Cetic.br, incluindo: (1) a produção de estatísticas TIC no Brasil; (2) as áreas de atuação do Cetic.br, como produção de indicadores, fomento de políticas públicas e cooperação internacional; (3) a missão e escopo de atuação regional do Cetic.br na América Latina e África.
O documento deseja um ano letivo de sucesso com objetivos alcançados através da perseverança, compromisso e dedicação de todos. Ele espera que os alunos aproveitem os ensinamentos e sigam em frente, transformando-se. O texto encerra desejando um ano escolar cheio de valores sociais e educacionais que iniciem as atividades com alegria.
O documento descreve a camada 7 do modelo OSI, a camada de aplicação, que corresponde às aplicações usadas para promover interação entre usuários e máquinas. Vários protocolos são usados nesta camada, como HTTP, SMTP, FTP, POP3, IMAP, Telnet e DHCP.
Divulgação do PIBID no CEI Olegário João Clemes.UnivaliPibid
Este documento apresenta o subprojeto do PIBID (Programa Institucional de Bolsa de Iniciação à Docência) na área de Pedagogia com foco na Educação Infantil de 0 a 3 anos que será desenvolvido no CEI Olegário João Clemes. O documento descreve a coordenadora, supervisora e licenciandas envolvidas, as atividades propostas como estudo, planejamento, observação e projetos de intervenção, as temáticas que serão abordadas e propostas de melhoria para o CEI.
Este documento resume um plano de marketing para uma loja de acessórios e roupas para cães chamada Doggy Dogs. O plano inclui três linhas de produtos, estratégias de divulgação como blogs e redes sociais, e promoções como venda casada e concursos de histórias de cães. O plano também analisa o mercado-alvo, concorrência e cenários financeiros projetando crescimento e retorno do investimento em dois anos.
O documento discute o uso de pronomes indefinidos e artigos indefinidos em inglês. Ele explica que pronomes como "someone", "anyone" e "everyone" são usados em frases afirmativas, negativas e perguntas. Além disso, cobre quando usar "a" ou "an", dependendo se a palavra seguinte começa com vogal ou consoante.
The Future of E-Commerce - Enterprise | Como escolher a plataforma ideal para...E-Commerce Brasil
Caio Camarini tem mais de 15 anos de experiência no mercado comercial, sendo 8 anos dedicados ao e-commerce. Atualmente é Head de Vendas na Webjump, agência especialista em operações B2B e B2C e principal parceira da Adobe na América Latina. O documento fornece orientações sobre como escolher a melhor plataforma de e-commerce para o seu negócio, incluindo etapas como conhecer o mercado, planejar requisitos e escopo, executar o projeto piloto validando necessidades, e evoluir constantemente.
Este documento é uma proposta de serviços elétricos para um cliente localizado em determinado endereço. A proposta descreve os serviços a serem executados, incluindo itens, subitens e respectivos investimentos. Também inclui condições como validade, cronograma, pagamentos e considerações finais.
O documento fornece informações sobre registro de domínios, hospedagem de sites e introdução ao HTML:
1) Explica os passos para registrar um domínio no Registro.br, escolher um provedor de hospedagem e publicar arquivos no site usando FTP.
2) Discutem conceitos básicos de HTML como estrutura de páginas web, uso de tags, estilos CSS e separação de conteúdo, layout e comportamento.
3) Aborda testes de usabilidade, métricas de desempenho e dicas para
O documento descreve as novas atualizações e recursos do software Clientar CRM, incluindo uma nova logomarca, tela de entrada personalizável, melhorias nos relatórios com mais filtros e gráficos, e um tutorial em vídeo para ensinar como usar o sistema. Novos aplicativos móveis também estão em desenvolvimento.
O documento discute estratégias para o e-commerce SunSpecial.com.br, incluindo foco de produtos, logística, armazenamento, marketing digital, mídias sociais, atendimento ao cliente e recebimentos/cobranças.
O documento apresenta uma tabela referencial de valores para serviços de design gráfico, organizados por categorias como identidade visual, branding, naming, editoriais, serviços digitais e outros. São fornecidos detalhes sobre cada serviço como descrição, valores médios para diferentes portes de empresas e observações importantes sobre termos e processos.
O documento discute sistemas de gestão de relacionamento com clientes (CRM), apresentando casos de sucesso, produtos disponíveis e características do módulo CRM S-Mark. Este módulo permite maior eficiência e produtividade nas vendas e no atendimento ao cliente.
Ao clicar neste botão, o Access abrirá o assistente de consulta, que
ajudará a criar a consulta de forma mais simples.
SQL: Permite editar diretamente a linguagem SQL (Structured Query Language)
para criar ou alterar a consulta.
Design: Volta para a tela de design da consulta, onde podemos arrastar os campos
para a grade.
Executar: Executa a consulta e exibe os resultados.
Salvar: Salva as alterações feitas na consulta.
Fechar: Fecha a janela de consulta.
Agora que entendemos os elementos da
O documento fornece informações sobre como construir um site, incluindo o que é um site, os softwares necessários, dicas para organização da estrutura e navegação, e como criar páginas usando o software Dreamweaver.
Este relatório descreve um projeto de gestão de uma tipografia desenvolvido em Visual Basic 2010. O projeto consiste em um programa com vários formulários para registrar clientes, trabalhos e gestão de stock. O relatório detalha a criação de cada um dos formulários incluindo login, menu principal, clientes e stock.
Este relatório descreve um projeto de gestão de uma tipografia desenvolvido em Visual Basic 2010. O projeto consiste em um programa com vários formulários para registrar clientes, trabalhos e gestão de stock. O relatório detalha a criação de cada um dos formulários incluindo login, menu principal, clientes e stock.
O documento fornece uma introdução aos conceitos básicos de HTML, como estrutura de um documento HTML, principais tags, formulários e campos de formulários. Ele também apresenta um exercício para aplicar esses conceitos na criação de um site simples.
O documento deseja um ano letivo de sucesso com objetivos alcançados através da perseverança, compromisso e dedicação de todos. Ele espera que os alunos aproveitem os ensinamentos e sigam em frente, transformando-se. O texto encerra desejando um ano escolar cheio de valores sociais e educacionais que iniciem as atividades com alegria.
O documento descreve a camada 7 do modelo OSI, a camada de aplicação, que corresponde às aplicações usadas para promover interação entre usuários e máquinas. Vários protocolos são usados nesta camada, como HTTP, SMTP, FTP, POP3, IMAP, Telnet e DHCP.
Divulgação do PIBID no CEI Olegário João Clemes.UnivaliPibid
Este documento apresenta o subprojeto do PIBID (Programa Institucional de Bolsa de Iniciação à Docência) na área de Pedagogia com foco na Educação Infantil de 0 a 3 anos que será desenvolvido no CEI Olegário João Clemes. O documento descreve a coordenadora, supervisora e licenciandas envolvidas, as atividades propostas como estudo, planejamento, observação e projetos de intervenção, as temáticas que serão abordadas e propostas de melhoria para o CEI.
Este documento resume um plano de marketing para uma loja de acessórios e roupas para cães chamada Doggy Dogs. O plano inclui três linhas de produtos, estratégias de divulgação como blogs e redes sociais, e promoções como venda casada e concursos de histórias de cães. O plano também analisa o mercado-alvo, concorrência e cenários financeiros projetando crescimento e retorno do investimento em dois anos.
O documento discute o uso de pronomes indefinidos e artigos indefinidos em inglês. Ele explica que pronomes como "someone", "anyone" e "everyone" são usados em frases afirmativas, negativas e perguntas. Além disso, cobre quando usar "a" ou "an", dependendo se a palavra seguinte começa com vogal ou consoante.
The Future of E-Commerce - Enterprise | Como escolher a plataforma ideal para...E-Commerce Brasil
Caio Camarini tem mais de 15 anos de experiência no mercado comercial, sendo 8 anos dedicados ao e-commerce. Atualmente é Head de Vendas na Webjump, agência especialista em operações B2B e B2C e principal parceira da Adobe na América Latina. O documento fornece orientações sobre como escolher a melhor plataforma de e-commerce para o seu negócio, incluindo etapas como conhecer o mercado, planejar requisitos e escopo, executar o projeto piloto validando necessidades, e evoluir constantemente.
Este documento é uma proposta de serviços elétricos para um cliente localizado em determinado endereço. A proposta descreve os serviços a serem executados, incluindo itens, subitens e respectivos investimentos. Também inclui condições como validade, cronograma, pagamentos e considerações finais.
O documento fornece informações sobre registro de domínios, hospedagem de sites e introdução ao HTML:
1) Explica os passos para registrar um domínio no Registro.br, escolher um provedor de hospedagem e publicar arquivos no site usando FTP.
2) Discutem conceitos básicos de HTML como estrutura de páginas web, uso de tags, estilos CSS e separação de conteúdo, layout e comportamento.
3) Aborda testes de usabilidade, métricas de desempenho e dicas para
O documento descreve as novas atualizações e recursos do software Clientar CRM, incluindo uma nova logomarca, tela de entrada personalizável, melhorias nos relatórios com mais filtros e gráficos, e um tutorial em vídeo para ensinar como usar o sistema. Novos aplicativos móveis também estão em desenvolvimento.
O documento discute estratégias para o e-commerce SunSpecial.com.br, incluindo foco de produtos, logística, armazenamento, marketing digital, mídias sociais, atendimento ao cliente e recebimentos/cobranças.
O documento apresenta uma tabela referencial de valores para serviços de design gráfico, organizados por categorias como identidade visual, branding, naming, editoriais, serviços digitais e outros. São fornecidos detalhes sobre cada serviço como descrição, valores médios para diferentes portes de empresas e observações importantes sobre termos e processos.
O documento discute sistemas de gestão de relacionamento com clientes (CRM), apresentando casos de sucesso, produtos disponíveis e características do módulo CRM S-Mark. Este módulo permite maior eficiência e produtividade nas vendas e no atendimento ao cliente.
Ao clicar neste botão, o Access abrirá o assistente de consulta, que
ajudará a criar a consulta de forma mais simples.
SQL: Permite editar diretamente a linguagem SQL (Structured Query Language)
para criar ou alterar a consulta.
Design: Volta para a tela de design da consulta, onde podemos arrastar os campos
para a grade.
Executar: Executa a consulta e exibe os resultados.
Salvar: Salva as alterações feitas na consulta.
Fechar: Fecha a janela de consulta.
Agora que entendemos os elementos da
O documento fornece informações sobre como construir um site, incluindo o que é um site, os softwares necessários, dicas para organização da estrutura e navegação, e como criar páginas usando o software Dreamweaver.
Este relatório descreve um projeto de gestão de uma tipografia desenvolvido em Visual Basic 2010. O projeto consiste em um programa com vários formulários para registrar clientes, trabalhos e gestão de stock. O relatório detalha a criação de cada um dos formulários incluindo login, menu principal, clientes e stock.
Este relatório descreve um projeto de gestão de uma tipografia desenvolvido em Visual Basic 2010. O projeto consiste em um programa com vários formulários para registrar clientes, trabalhos e gestão de stock. O relatório detalha a criação de cada um dos formulários incluindo login, menu principal, clientes e stock.
O documento fornece uma introdução aos conceitos básicos de HTML, como estrutura de um documento HTML, principais tags, formulários e campos de formulários. Ele também apresenta um exercício para aplicar esses conceitos na criação de um site simples.
O documento descreve um relatório final de um projeto de conclusão de curso sobre o desenvolvimento de um sistema para agendamentos e controle de clientes para a empresa Massa DunDun. O sistema já possui algumas funcionalidades implementadas e outras ainda em desenvolvimento. O relatório detalha o estado atual do sistema, a tecnologia utilizada e o cronograma para implementar novas funcionalidades.
1) Organize as informações essenciais que deseja apresentar no checkout antes de criá-lo para não sobrecarregá-lo.
2) Use texto de fácil leitura com tópicos curtos e ícones em vez de longos parágrafos.
3) Destaque o preço, parcelamento e garantia para dar segurança ao comprador.
Conteúdo sobre Comunicação Visual para Postos de Combustíveis desenvolvido pela Agência Conexxa em parceria com o Portal Brasil Postos para orientar a Gestão de Posto.
Boa leitura
Este documento fornece instruções sobre como criar imagens para a web de forma otimizada, discutindo formatos de arquivo, tamanho, resolução e cores. Explica que imagens com poucas cores devem ser salvas como GIF e imagens fotográficas como JPG, e que as imagens não devem exceder 600 pixels de largura e 72 dpi.
Guia passo-a-passo para
configurar sua impressora.
modo como seu documento será
impresso.
Printer: Seleciona a impressora
destinada à impressão.
As opções incluem:
Paper Size: Define o tamanho do
papel.
- Impressora
- Tamanho do papel
- Orientação
- Escala
- Resolução
- Qualidade
- Tipo de impressão
- Número de cópias
- Páginas a imprimir
Orientation: Define a orientação do
papel (retrato ou paisagem).
Scale:
Este documento descreve a linguagem XML, incluindo sua origem, objetivos, estrutura e elementos. XML foi desenvolvido para permitir a distribuição de qualquer tipo de informação estruturada na web e define regras para a criação de documentos auto-descritivos.
Este documento fornece uma introdução ao WML (Wireless Markup Language), incluindo:
1) Uma breve explicação do que é WML e como ele é usado para criar páginas para dispositivos móveis;
2) Exemplos básicos de como usar elementos WML como cards, variáveis e eventos;
3) Uma demonstração de como conectar páginas WML a um servidor de scripts para recuperar dados dinamicamente.
O documento fornece exemplos de como usar o comando SQL ALTER TABLE para modificar tabelas em um banco de dados Oracle. As principais informações incluem: 1) como adicionar, modificar e remover colunas de uma tabela; 2) como adicionar, remover e desabilitar restrições em tabelas; e 3) como remover registros em cascata.
1. Os proxies permitem acesso à internet através de um firewall, repassando requisições e respostas entre clientes internos e servidores externos de forma segura. 2. Os proxies armazenam cópias cacheadas de documentos frequentemente acessados para reduzir custos de tráfego de rede. 3. Os proxies fornecem logs detalhados das transações dos clientes para controle de acesso e filtragem.
Este documento fornece uma introdução ao curso de Perl, incluindo: 1) uma breve explicação do que é Perl e suas principais características; 2) uma lista dos principais tópicos que serão abordados no curso, como variáveis, operações, listas, arquivos e estruturas de controle.
Este documento fornece um resumo sobre a linguagem de programação Java. Discute o que é Java, seus objetivos iniciais, tipos de dados, variáveis, operadores, controle de fluxo e arrays. O documento também apresenta exemplos de código para ilustrar esses conceitos.
Java é uma linguagem orientada a objetos, o que significa que seu
paradigma central é a programação baseada em objetos e classes. Isto permite
um desenvolvimento modular, reutilização de código e facilidade de manutenção.
•
Portabilidade: O código Java é compilado para uma máquina virtual (JVM Java Virtual Machine) e não para um hardware específico. Isto permite que um
mesmo programa Java possa ser executado em diferentes plataformas sem
necessidade de recompilação.
•
Distribuída: Java foi projetada desde o início para desen
Este documento fornece instruções sobre como criar páginas web básicas em HTML, incluindo:
1) Introdução aos principais elementos HTML como <html>, <head>, <title>, <body>;
2) Exemplos de como adicionar texto, imagens, links e formatação;
3) Detalhes sobre como criar tabelas, inserir cores e formatação de texto.
Este documento fornece instruções sobre como transferir arquivos para seu site usando o protocolo FTP. Ele recomenda usar o programa WS_FTP e explica como configurá-lo com as credenciais do servidor FTP e transferir arquivos entre seu computador e o espaço do site. Os principais comandos do programa para gerenciar arquivos também são descritos.
Este documento fornece instruções sobre como criar e formatar páginas web usando o Microsoft FrontPage 2000, incluindo:
1. Como iniciar o programa e formatar páginas, inserindo texto, imagens e salvando arquivos.
2. Como criar hiperlinks entre páginas, usar numeração e marcadores, e inserir tabelas e figuras.
3. Como usar componentes como planilhas, contadores de acesso e botões, além de explicar brevemente HTML e efeitos dinâmicos.
Esta lição introduz o ambiente de trabalho do Fireworks:
Object
- O Fireworks permite trabalhar com imagens vetoriais e de bitmap no mesmo documento.
- As ferramentas e paletas do Fireworks podem ser usadas para criar e editar objetos vetoriais e imagens de bitmap.
- O Fireworks oferece dois modos principais - Modo Object para criação e edição de vetores e Modo Image Edit para edição de pixels em imagens de bitmap.
O capítulo aborda como formulários HTML podem disparar ações em páginas ASP, permitindo a
validação de campos e passagem de parâmetros entre páginas. Formulários HTML possuem um
atributo ACTION que especifica qual arquivo ASP será acionado, permitindo tratar os dados
digitados.
O documento apresenta uma introdução sobre Active Server Pages (ASP), tecnologia da Microsoft para desenvolvimento de páginas web dinâmicas. Descreve como ASP funciona, utilizando scripts como VBScript e JScript para processar comandos no servidor e retornar respostas em HTML ao cliente. Também aborda conceitos básicos de programação em ASP como variáveis, tipos de dados, operadores e conversão de tipos.
Este documento fornece uma introdução ao software Macromedia Flash, descrevendo suas ferramentas e funcionalidades básicas para criação de animações e apresentações multimídia, incluindo formas, gradientes, escala e rotação de objetos. Também explica conceitos como símbolos, camadas, agrupamento e desagrupamento de objetos.
Este documento fornece uma receita de sopa de baixas calorias e um plano de 7 dias de acompanhamentos para a sopa, incluindo frutas, legumes e proteínas como bifes para ajudar na perda de peso.
Este documento fornece uma dieta de emergência de dois dias para perder 3 quilos, consistindo apenas em sopas, sucos e iogurtes leves. No primeiro dia, as refeições incluem creme de champignon, vitamina de frutas e creme de tomate. No segundo dia, as refeições são vitamina de manga, creme de espinafre com ricota e sopão de frango. A dieta é para uso apenas em situações extremas e não deve ser prolongada devido aos riscos à saúde.
Este documento fornece uma dieta de proteínas que permite comer carnes, peixes, aves, queijos e ovos à vontade, além de algumas verduras e legumes. A dieta é restrita em carboidratos e calorias e fornece menus de exemplo para 10 dias, com o objetivo de promover a perda de peso.
1. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
CURSO DE CGI
CURSOMASTER
1 de 16
2. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Formulário & Script CGI
Índex
Um Formulário de Pedidos On-line
A Página Web
A Seção Introdutório do Documento HTML
Definindo as Informações Que Devem Ser Ocultadas do Cliente
Apresentando as Opções do Produto
Enviando o Pedido
O Script
Determinando o Método
Dividindo as Informações em Pares Nome/Valor
Manipulando os Elementos Que o Formulário Não Passa
Definindo as Opções de Pagamento do Cliente
Enviando uma Mensagem de Resposta ao Cliente
Resumo
Créditos & Autoria
LOGO – Biblioteca Virtual do STI
Página
01
01
02
02
03
05
05
05
06
06
08
09
10
10
11
Um Formulário de Pedidos On-line
Uma das melhores utilizações da CGI é permitir que um cliente em potencial visite seu site e
encomende um produto on-line. Apesar de essas iniciativas comerciais não serem a característica
mais importante da Internet, o mercado está conduzindo o desenvolvimento da Internet e de seus
padrões. Fazer com que as empresas possam comercializar seus produtos on-line é o próximo
passo na evolução da Inernet.
De um momento para outro, todos os comerciais de TV começaran a mostrar o endereço Web do
anunciante, isso porque as empresas acreditam que a Internet tenha potencial de marketing.
Originalmente as pessoas pensavem que a Web seria apenas um meio para exibir informações,
mas CGI mudou isso.
Este Tutorial trata dos formulários de pedido que permitem que o visitante encomende um produto
on-line. Depois de submeter o pedido, este é enviado por correio eletrônico para ser processado.
Apesar de o exemplo de aplicativo deste tutorial envolver uma empresa fictícia de venda de
automóveis, o mesmo formulário pode ser aplicado a todos os ramos de negócios: flores,
computadores, doces ou qualquer outra coisa que possa ser vendida na Web.
A Página Web
Primeiro é preciso criar a página Web. Esta página permite que o visitante digite informações,
selecione itens de listas ou checkbooks e submeta as informações digitadas, que então são
enviadas para o script. Para que o documento HTML seja efetivo, ele precisa ser intuitivo.
Simplesmente olhando a página, o cliente deve ser capaz de compreender qual informação precisa
ser digitada em qual lugar. Quanto mais intuitiva for sua página, mais chances deu script terá de
funcionar corretamente, evitanto o perigo de desencorajar o visitante.
2 de 16
3. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
A primeira seção do documento deve indicar ao visitante qual é a finalidade da
página. No exemplo de página usado neste Tutorial, uma empresa de venda de
carros deseja comercializá-los na Web.
Em seguida, deve-se permitir que o visitante digite informações pessoais como
nome, endereço de correio eletrônico, endereço residencial e tudo mais que for
preciso para processar o pedido e enviar o produto ao cliente.
Finalmente, ofereça ao visitante uma lista de itens para escolher. No exemplo de
página usado neste tutorial, permita que o visitante escolha um carro e seus
acessórios.
A Seção Introdutório do Documento HTML
Começamos criando a primeira seção do documento HTML. Nela, como mostra a lista abaixo,
abrimos o documento HTML, damos a ele um título e fornecemos algumas informações
introdutórias a seus visitantes
<HTML>
<HEAD>
<TITLE> Carros Novos Supkay </TITLE>
</HEAD>
<BODY>
<H1>Bem-vindo a Carros Novos Supkay! </H1>
<Nós temos aqui alguns <b>GRANDES</b> negócios apenas esperando você chegar
e sair dirigindo com eles! Com nossa grande variedade de escolhas, estou certo de que
você encontrará algo que irá <b>amar</b>!>
<HR>
<FORM ACTION="/cgi-bin/buycar.pl" METHOD="POST">
<PRE>
Nomeamos a página BUYCAR.HTML e o script BUYCAR.PL. Usamos o marcador
<PRE> para facilitar a formatação da página, mas poderíamos ter usado tabelas.
Definindo as Informações Que Devem Ser Ocultadas do Cliente
Nosso próximo passo é decidir quais informações devem ser ocultadas do cliente.
É absolutamente necessário permitir que o visitante escolha itens específicos.
Também é preciso que o visitante forneça seu nome e endereço. Provavelmente
teremos de determinar uma forma pela qual o visitante pagará o item que comprar,
a menos que ele seja gratuito. Também será preciso decidr NAME curto, mas ao
mesmo tempo significativo. A seguir temos uma lista de itens que o visitante deve
preencher, com um nome atribuído a cada um:
Nome
= fname
3 de 16
4. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Sobrenome
Email
= lname
= email
Agora coloque essa lista no documento da seguinte maneira:
Digite seu primeiro nome: <INPUT TYPE="text" NAME="fname" SIZE=46>
Seu sobrenome: <INPUT TYPE="text" NAME="lname" SIZE=46>
Seu email: <INPUT TYPE="text" NAME="fname" VALUE="login@provedor.com.br"
SIZE=46>
Separar o nome do sobrenome em vez de colocar ambos no mesmo campo é uma
boa idéia. Assim fica mais fácil manipulá-los separadamente ao criar o script.
Observe o uso do atributo VALUE. Isso ajuda a dar ao visitante uma idéia do tipo
de informação de que você precisa. Além disso, use o atributo SIZE para limitar o
tamanho de cada campo em 46. Isso serve apenas para manipular a aparência do
documento HTML.
Agora precisamos de um endereço de correspondência para enviar o produto ao
cliente:
Endereço
Cidade
Estado
CEP
= street
= city
= state
= zip
Também podemos pedir o número de telefone, se o cliente não puder ser
acessado
via
correio
eletrônico:
Telefone Residencial
Telefone Comercial
= hphone
= wphone
Essas informações devem ser suficientes para a sua página Web. Claro, é
possível acrescentar qualquer outra informação que atenda às suas necessidades
específicas.
Agora
colocamos
essas
informações
no
documento:
Endereço: <INPUT TYPE="text" NAME="street" SIZE=46>
Cidade: <INPUT TYPE="text" NAME="city" SIZE=12>
Estado: <INPUT TYPE="text" NAME="state" SIZE=4>
CEP: <INPUT TYPE="text NAME="zip" SIZE=9>
Fone Res.: <INPUT TYPE="text" NAME="hphone" SIZE=13>
Fone Com.: <INPUT TYPE="text" NAME="wphone" SIZE=13>
<HR>
4 de 16
5. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Apresentando as Opções do Produto
Agora é preciso apresentar aos visitantes a lista dos produtos que eles podem comprar. É provável
que você necessite incluir também outras opções. Por exemplo, uma florista que vende rosas
deveria dar ao cliente a opção de escolha de cor, tamanho etc.
No exemplo deste tutorial, estamos vendendo carros, logo convém dar ao
consumidor várias opções de modelo, cor, ano e algumas características
adicionais. Com relação ao modelo, oferecemos as opções Tortoise, Hyena, Aphid
e Diamond Black:
modelo =
Tortoise
Hyena
Aphid
Diamond Black
Neste exemplo, modelo NAME e Tortoise, Hyena, Aphid e Diamond Black são os
valores. Pode-se deixar o usuário selecionar um modelo pelo marcador
<SELECT> ou usar o tipo de input radio. Neste Tutorial, usaremos o marcador
<SELECT>. Quanto às opções de cores, temos verde, roxo, marrom e azul:
Cor =
verda
roxo
marrom
azul
A seguir oferecemos ao cliente as opções para os modelos dos anos de 1995,
1996, 1997 e 1998:
Ano =
1995
1996
1997
1998
Para fornecer essas opções no código, o exemplo abaixo usa <SELECT> para
modelo e ano e o tipo de input radio para cor:
Aqui está, sua chance de escolher alguns carros de alta qualidade!
Modelo/Ano: <SELECT NAME="model">
<OPTION> Tortoise
<OPTION> Hyena
<OPTION> Aphid
<OPTION> Diamond Black
</SELECT><SLECT NAME="year">
<OPTION> 1995
<OPTION> 1996
<OPTION> 1997
<OPTION> 1998
5 de 16
6. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
</SELECT>
Cor: </PRE>
<INPUT TYPE="radio" NAME="color" VALUE="Roxo"> Roxo
<INPUT TYPE="radio" NAME="color" VALUE="Verde"> Verde
<INPUT TYPE="radio" NAME="color" VALUE="Marrom"> Marrom
<INPUT TYPE="radio" NAME="color" VALUE="Azul"> Azul
Nota: Observe que o marcador <PRE> foi temporariamente removido para que os
botões sejam exibidos lado a lado. Se fôssemos incluir o marcador <PRE>, seria
preciso colocar todas as quatro cores em uma linha, e como a largura do monitor é
limitada, não conseguimos ver nem metade das informações. Sem o marcador <PRE>,
as opções são colocadas lado a lado (o HTML não reconhece espaços).
Agora apresentamos as opções adicionais: airbag do lado do passageiro, desembaçador no vidro
traseiro, calotas de plásticos e um estepe. Atribua a cada uma destas opções seu próprio valor.
Use também o tipo de input checkbox para que, caso o cliente não selecione uma opção, você não
tenha de se preocupar com isso dentro do script. O script simplesmente verifica se o usuário
selecionou o checkbox e em caso positivo, reage do modo apropriado.
Airbag do lado do passageiro
Calotas de plástico
Desembaçador no vidro traseiro
Estepe
= iarbag
= pcaps
= rdefrost
= stire
A página HTML teria o seguinte aspecto:
<PRE>
<INPUT TYPE="checkbox" NAME="airbag">Airbag do lado do passageiro
<INPUT TYPE="checkbox" NAME="pcaps">Calotas de Plástico
<INPUT TYPE="checkbox" NAME="rdefrost">Desembaçador do Vidro traseiro
<INPUT TYPE="checkbox" NAME="stire">Estepe
Observe que cada nome descreve o que o valor realmente é. Ao examinar seu
código, é possível determinar com segurança o que representa cada valor. Os
nomes são curtos, mais auto-explicativos. agora permitiremos que o visitante
escolha um modelo de duas, três ou quatro portas:
Portas =
2
3
4
Podemos usar o marcador <SELECT> ou tipo de input radio. Aqui usaremos
novamente o tipo de input radio para deixar o visitante escolher uma das três
opções:
<INPUT TYPE="radio" NAME="doors" VALUE="2"> 2 portas
<INPUT TYPE="radio" NAME="doors" VALUE="3"> 2 portas com bagageiro
6 de 16
7. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
<INPUT TYPE="radio" NAME="doors" VALUE="4"> 4 portas
Depois de receber as informações pessoais do cliente e sua escolha de carro, é
preciso saber como ela vai pagar. Usando o nome Pagamento, damos ao cliente
duas opções: Fatura e Cartão de Crédito.
Pagamento =
Fatura
Cartão de Crédito
(Claro, os vendedores de automóveis não costumam simplesmente "mandar a
conta" para os clientes. O exemplo usa essas opções pouco realistas apenas para
demostrar como é possível oferecer opções diferentes aos consumidores.) Se o
cliente escolher a opção cartão de crédito, será preciso obter também as
informações sobre o cartão. A seguir, apresentamos três campos associados
normalmente a cartões de crédito: o nome do cartão, o número e a data de
validade.
Nome do Cartão
Número do Cartão
Data de validade
= Cname
= Cnum
= cexpire
Ao escrever o script, verifique se o cliente escolheu a opção de cartão de crédito;
neste caso, é preciso incluir as informações sobre o cartão ao enviar o pedido.
Agora, basta formatar as opção de pagamento usando o código HTML, conforme
mostra o exemplo abaixo:
<HR>
Pagamento
<INPUT TYPE="radio" NAME="billing" VALUE="bill"> Fatura
<INPUT TYPE="radio" NAME="billing" VALUE="Cartão de Crédito"> Cartão de Crédito
Nome no Cartão: <INPUT TYPE="text" NAME="Cname" SIZE=46>
Número do Cartão: <INPUT TYPE="text" NAME="cnum" SIZE=14>
Validade do Cartão: <INPUT TYPE="text" NAME="xexpire" SIZE=8>
</PRE> <HR>
Enviando o Pedido
Finalmente, devemos permitir que o cliente nos envie as informações. Para isso
basta usar o tipo de input submit; convém incluir também o tipo de input reset para
o caso de o cliente precisar refazer o pedido.
7 de 16
8. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Agora, se é isto que você quer pressione <INPUT TYPE="submit" VALUE="AQUI">
Ou se acha que cometeu um erro, <INPUT TYPE="reset" VALUE="Apague
formulário">
</FORM>
</BODY>
</HTML>
Como não adicionaremos mais nada ao formulário, fechemos o marcador
<FORM>, assim como <BODY> e <HTML>. Agora que terminamos, nosso
formulário de pedidos deve estar bastante parecido com o exemplo dado
inicialmente.
Claro, é possível acrescentar imagens gráficas, fundos diferentes ou links para
outras páginas a fim de dar o formulário de pedidos um aspecto profissional.
Pode-se até mesmo mudar a formatação HTML da página para que fique mais a
seu gosto. Entretanto, para o propósito deste exemplo específico, o formulário
está concluído. Agora é hora de trabalhar sobre o script.
O Script
Agora basta acessar as informações que o visitante digitou. Crie um script que
envie essas informações pelo correio eletrônico para quem vai processá-las.
Então informe ao visitante que seu pedido foi recebido com sucesso.
Determinando o Método
Primeiro é preciso descobrir se o script usou o método POST para receber as
informações.
8 de 16
9. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
As informações foram enviadas
pelo método POST ?
Se não, informe o visitante.
Se sim, continue.
Primeiro, indique ao script qual programa está sendo usado para interpretálo. Neste caso, estamos usando Perl. É preciso informar ao script o path e nome
do arquivo do intérprete.
Nota: no UNIX, o modo mais fácil de encontrar o path de um arquivo é com os
comandos which e whereis. Há muitos tipos de UNIX, portanto, se um destes
comandos não funcionar, tente o outro.
Em seguida, defina o tiro MIME da saída do script.
#! /usr/local/bin/perl
If ($ENV{'REQUEST_METHOD'} NE 'POST')
{
print <<"HTML";
<HTML>
<HEAD>
<TITLE>Lamento!</TITLE>
</HEAD>
<BODY>
<H1>Uso de Método Errado!</H1>
Lamento, mas só utilizamos o método POST aqui.
</BODY>
</HTML>
9 de 16
10. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
HTML
exit;
}
Dividindo as Informações em Pares Nome/Valor
A seguir é preciso dividir as informações dos pares nome/valor. Siga o exemplo:
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$form{$name} = $value;
}
Primeiro leia o STDIN até o final do string, tal como é definido pelo uso de
$ENV{'CONTENT_LENGHT'}. Em seguida, separe as linhas, dividindo a linha
quando encontrar o E comercial (&), na lista @pairs. Neste ponto, temos vários
pares nome/valor e substituir os sinais de adição pelos espaços apropriados.
(Lembre-se de que, ao enviar o string de dados para o servidor, os espaços são
substituídos pelo sinal de adição.) Então é preciso converter os caracteres
especiais de volta a seu formato ASCII. Em seguida, coloque cada nome/valor na
lista $form, para que então possamos chamar cada par nome/valor usando
$form{'name'}. ]
Manipulando os Elementos Que o Formulário Não Passa
Agora que terminamos a parte mais difícil do script, é preciso preparar o restante. O formulário não
passou quatro itens de que o script necessita:
•
•
•
•
A data.
endereço de correio eletrônico da pessoa que recebe o pedido.
path e nome do programa de correio.
Uma linha de assunto para o correio eletrônico que informa ao destinatário que
o formulário de pedido é para a compra de um carro. Essa linha ajuda o leitor a
compreender a natureza do pedido sem ter de ler a mensagem inteira.
10 de 16
11. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Obtendo a Data
Pode-se obter a data automaticamente usando a função chop() do Perl:
chop($date = `date`);
Este comando oferece como resultado algo parecido com isto:
Thu May 23 15:02:15 PDT 1998
É possível mudar o formato da string $date. Procure assunto referente a date.
Lidando com o Correio Eletrônico
Definiremos então as strings que determinam o destino da mensagem de correio
eletrônico, o programa de correio e a linha de assunto:
$mailprog ="/usr/lib/sendmail";
$sendto = "rniles@selah.net";
$subject = "Compra de automovel";
Agora, vamos enviar a mensagem. Primeiro use a função open() para enviar sua
saída para sendmail:
open(MAIL, "|$mailprog -t") |
Esse comando simplesmente designa o descritor MAIL como um pipe para a string
$mailprog definida anteriormente. O pipe altera STDOUT. Sem ele, todas as
informações vão retornar para o visitante dentro de um documento HTML. Se
mudarmos a direção do pipe, é possível enviar as informações para o programa
UNIX sendmail.
As três linhas a seguir criam o cabeçalho da mensagem. A string $sendto definida
acima determina a linha To:. A linha From: é uma combinação de três dos campos
digitados pelo visitante. Usaremos o endereço de correio eletrônico do visitante,
seu nome e sobrenome. Finalmente, acrescentamos o assunto.
Juntas, as três linhas ficam assim:
print MAIL "To: $sendton";
print MAIL "From: $form{'email'} ($form{'fname'} $form{'lname'})n";
print MAIL "Subject: $subjectnn";
Observe o uso de n, que é alimentação de linha. Sem n, tudo ficaria em uma só
linha. Depois de imprimir Subject:; incluímos duas novas linhas que separam o
cabeçalho do restante da mensagem.
A seguir pedimos à senteça print para imprimir todo o conteúdo do descritor MAIL
11 de 16
12. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
até encontrar EOM. Essa condição permite o uso da sentença print apenas uma
vez para imprimir várias linhas.
print MAIL <<"EOM";
Em $date, $form{'fname'} $form{'lname'} decidiu comprar um carro conosco.
$form{'fname'} escolheu um $form{'model'} $form{'color'} $form{'year'} $form{'doors'}porta(s).
$form{'fname'} escolheu os seguintes opcionais:
EOM
Observe como usamos as string do formulário para criar a sentença. Basta inserir
as strings no texto, de modo que leas ajudem a criar a mensagem. Dependendo
do que o cliente digitou no formulário, a mensagem pode parecer com:
Em Thu Jul 1 11:59:42 EST 1998, Eduardo Mota decidiu comprar um carro conosco.
Eduardo escolheu um Tortoise verde 1995 2 portas(s).
Eduardo queria os seguintes opcionais:
A seguir vamos analisar algumas sentenças if( ). O script diz essencialmente que:
Se existe airbag, então imprima Airbag do lado do passageiro.
Se existe pcaps, então imprima Calotas de plástico.
Se existe rdefrost, então imprima Desembaçador no vrido traseiro
Se existe stire, então imprima Estepe.
Com Perl codificamos essas instruções if( ) da seguinte maneira:
12 de 16
13. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
if ($form{'airbag'})
{
print MAIL "- Airbag para o passageiron";
}
if ($form{'pcaps'})
{
print MAIL "- Calotas de plasticon";
}
if ($form{'rdefrost'})
{
print MAIL "- Desembacador do vidro traseiron";
}
if ($form{'stire'})
{
print MAIL "- Estepen";
}
Então, para economizar trabalho, digitamos novamente o seguinte comando:
print MAIL <<"EOM";
Esse comando permite que usemos o comando print apenas uma vez. Veja se
consegue descobrir o que acontece no exemplo abaixo:
Seguem algumas informacoes pessoais de $form{'fname'}:
$form{'fname'} $form{'lname'}
$form{'email'}
$form{'street'}
$form{'city'}, $form{'state'} $form{'zip'}
Fone res.: $form{'hphone'}
Fone com.: $form{'wphone'}
$form{'fname'} pediu para que nos:
EOM
Definindo as Opções de Pagamento do Cliente
Agora, precisamos determinar qual forma de pagamento o cliente escolheu.
Novamente usaremos a instrução if( ), assim:
13 de 16
14. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Verifique se o cliente escolheu Fatura.
Se sim, imprima Fatura.
Verifique se o cliente escolheu Cartão de Crédito.
Se sim, imprima Cartão de Crédito.
Como o formulário usa o tipo de input radio, o cliente precisa selecionar Fatura ou
Cartão de Crédito. Basta marcar qual dessas opções o cliente escolheu.
if ($form{'billing'} eq "bill")
{
print MAIL "Mandaremos a fatura.n";
}
if ($form{'billing'} eq "ccard")
{
print MAIL "Cobraremos pelo cartao de credito";
print MAIL "em nome de $form{'cname'}.n";
print MAIL "CC#$form{'cnum'} e validade $form{'cexpire'}.nn";
}
Agora, sempre que abrimos um descritor de arquivo, será preciso fechá-lo.
Abrimos o descritor de arquivo MAIL, portanto ao terminar de usá-lo é preciso usar
a função close() para fechá-lo:
print MAIL "Processar a requisição o mais rápido possivel.n";
close(MAIL);
Depois de fechar o descritor, eviamos a mensagem.
14 de 16
15. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
Enviando uma Mensagem de Resposta ao Cliente
Neste ponto, poderíamos considerar o script concluído. Ele recebe as informações
do cliente e envia o pedido via correio eletrônico. Entretanto, a finalidade principal
de um script CGI é dar uma resposta nova ao visitante. Neste caso, você pode
simplesmente querer dizer ao cliente que o programa processou o pedido
normalmente e que ele pode prosseguir.
Nesta seção, criaremos rapidamente uma página que apresenta essa mensagem.
Basta adicionar ao seu script o código que gera essa página. Depois de enviar a
mensagem do pedido, o script manda uma mensagem para o cliente.
Primeiro é preciso indicar ao servidor o tipo MIME do script. Apesar de o script
normalmente usar text/html, também é possível usar text/plain; se estivermos
mandando um arquivo .GIF, usaremos image/gif. Há outras opções, mas estas
são as mais usadas.
Usaremos agora o atalho mostrado no exemplo abaixo:
print <<"HTML";
<HTML>
<HEAD>
<TITLE>Agradecimento</TITLE>
</HEAD>
<BODY>
<H1> Obrigado pela requisição! </H1>
Obrigado pela requisição <B>$form{'fname'}</B>! Esta mensagem foi enviada para o
departamento apropriado e nós iremos entregar o seu novo $form{'color'} $form{'year'}
$form{'model'} $form{'doors'}-porta(s) assim que verificarmos o seu crédito com um
pente fino.<P>
Se não entrarmos em contato nos próximos 8 meses, envie email para <A
HREF="mailto:$sendto">$sendto</A>, e pergunte por que seu pedido não foi atendido
rapidamente</B> como esperado. <P>
Foi muito bom tê-lo como cliente!!<P>
<I>Atenciosamente,</I><BR>
Sr. Supkay (ele mesmo).
</BODY>
</HTML>
HTML
Nota: Observe a barra invertida (/) na linha mailto:. Para garantir que você não
conmfunda o interpretador Perl, às vezes é melhor considerar as aspas como
caracteres especiais usando a barra invertida. Então o interpretador Perl saberá que as
15 de 16
16. Este arquivo compõe a coletânea STC
Este arquivo é parte integrante do CD MEGA CURSOS
www.trabalheemcasaoverdadeiro.com.br
Acesse - www.megacursos.com.br
aspas fazem parte do texto exibido e não do código Perl.
Finalmente saímos do programa usando a função:
exit()
Resumo
Apesar de este tutorial ter apresentado um exemplo de formulário de pedido, de
maneira alguma esse exemplo esgota as possibilidades do script. É possível fazer
com que o script salve essas informações em um arquivo de log ou até mesmo
usar um banco de dados para armazenar as informações. As possibilidades são
infinitas.
Neste Tutorial aprendemos a criar documentos HTML usando formulário e
também a criar um script que permite que essas informações sejam enviadas para
outros usuários. Essencialmente, criamos uma interface Web para enviar
informações a outra pessoa via correio eletrônico. Com apenas algumas
modificações, poderíamos criar um scrit que permitisse ao visitante usar o
formulário para deixar mensagens para você. Também vimos o conceito mais
importante da programação CGI: como enviar ao visitante um documento
imediatamente criado*.
* N.R.T. Esses documentos criados pelo próprio script são chamados e
documentos virtuais.
16 de 16