Como colocar uma enquete num site

Vamos mostrar como montar a estrutura básica de uma enquete, que pode ser reutilizada no site quantas vezes você quiser. Trata-se de uma aplicação em que você faz uma pergunta numa página Web e oferece múltiplas opções como resposta. O visitante do site apresenta seu voto e, automaticamente, recebe os resultados parciais da enquete. O mecanismo dessa pesquisa interativa pode ser adaptado a qualquer site instalado em ambiente Linux, com o servidor Apache e o interpretador da linguagem Perl ativado.


Para começar, faça o download do exemplo pronto que será descrito aqui. Um pacote ZIP com todos os arquivos necessários encontra-se no site de INFO Exame, no endereço ftp://ftp.uol.com.br/info/enquete.zip Esse sistema de enquete foi desenvolvido pelo INFOLAB e exige, antes de tudo, uma correta instalação dos arquivos. Expanda o pacote ZIP e siga o roteiro a seguir. No servidor, copie para o diretório cgi-bin o arquivo vote.pl. Garanta para esse arquivo os atributos de leitura e execução. Agora, crie, em outro local - por exemplo, na raiz do site, só para simplificar -, o diretório dados. Dentro dele, crie um subdiretório chamado enquete. Copie para essa subpasta todos os outros arquivos contidos no pacote ZIP. Para todos eles garanta o direito de leitura e escrita. Além disso, os diretórios dados e enquete também devem franquear ao visitante as permissões de leitura e escrita.


Todos os arquivos básicos estão nos devidos lugares. Falta, agora, ajustá-los a seu caso. Mas, antes de prosseguir, é bom saber o que significa cada um desses arquivos:


1) pesquisa.htm contém o formulário para votação


2) vote.pl é o script em Perl que recebe o voto, processa-o e apresenta uma página com os resultados parciais


3) resultados.dat é um documento HTML com a extensão trocada. Contém o esqueleto da página na qual serão exibidos os números acumulados da enquete, em valores absolutos e em percentuais


4) erro.dat, outro gabarito HTML com extensão trocada, apresenta mensagens de erro


5) enquete (sem extensão) é um arquivo-texto que armazena os resultados da pesquisa.


Vejamos, agora, como configurar a solução. O primeiro passo consiste em preparar o documento pesquisa.htm. Esse arquivo contém dois formulários HTML. No primeiro, ficam a pergunta e as opções que você vai colocar à escolha do internauta. Cada alternativa é representada por um botão de opção. No exemplo elaborado para esta reportagem, montamos uma enquete que pergunta ao usuário qual o seu sistema operacional preferido e apresenta cinco alternativas. O internauta escolhe uma delas e clica num botão de comando com a legenda Vote. O segundo formulário localiza-se logo abaixo do primeiro e contém apenas uma imagem GIF com a palavra "Resultados". Em vez de votar, o visitante pode clicar nessa imagem e passar diretamente à página com a informação dos resultados. Em lugar de uma imagem, você pode usar um botão de comando - que, aliás, é o objeto-padrão para a captura de informações em formulários. Só não dá para utilizar um link comum de texto, porque com ele não é possível chamar o programa CGI.


O que está descrito acima são os aspectos externos dos dois formulários, tal como o usuário os verá na página Web. Mas, para você que vai construir esses objetos, é importante lembrar ainda alguns detalhes internos. Os botões de opção devem receber nomes seqüenciais, como opt1, opt2 etc. Isso facilita procedimentos que virão depois. Se você estiver usando um editor de HTML como o FrontPage ou o FrontPage Express, clique com o botão direito no botão e escolha a opção Propriedades do Campo do Formulário. Na tela que se abre, escreva na caixa Valor o nome do campo (opt1, opt2...) e, no campo Estado Inicial, escolha Não Selecionado. Como você vai apresentar um conjunto de opções ao visitante, é fundamental que nenhuma delas esteja pré-selecionada. Se ele, sem querer, acionar o botão Vote, nenhum voto será computado.


À medida que você define as características dos botões de opção, o código HTML correspondente vai sendo escrito para definir a página. Se você tem experiência com HTML, pode ir direto à janela de código e escrever o que for necessário. No final, a cada botão de opção corresponderá um comando com a seguinte configuração básica:


<input type="radio" name="option" value="op3">OS/2


Aqui, Input é a marca (tag) que indica um valor de entrada no formulário. O tipo "radio" indica um botão de opção - também conhecido como botão de rádio. O item value descreve o nome do objeto ("op3"). Por fim, vem a legenda que descreve a alternativa de votação, "OS/2". Ao verificar o código HTML, você vai encontrar outras marcas, como as indicadoras de fonte e tamanho, mas essas não são relevantes para o que se quer mostrar aqui.


No primeiro formulário, o de votação, falta ainda esclarecer um ponto: o que acontecerá quando o participante da enquete acionar o botão Vote? A opção escolhida será enviada ao programa CGI vote.pl, que somará um voto ao subtotal daquela opção e exibirá uma página com os resultados parciais da pesquisa, já incluído o voto do internauta. Para que isso aconteça, a referência ao script em Perl deve estar contida na propriedade Ação (Action) do formulário. Em HTML, a vinculação do formulário ao programa será feita por um trecho decódigo assim:


<form action="http://seusite.com.br/cgi-bin/vote.pl? topic=enquete"


Action dá o endereço do programa CGI e informa o parâmetro topic. O script vote.pl aceita dois tipos de parâmetro: topic, quando o internauta vota, e option+topic, quando ele deseja consultar os resultados. No segundo formulário, portanto, a ação é descrita por um trecho diferente:


<form action="http://seusite.com.br/cgi-bin/vote.pl? option=results&topic=enquete"


Com isso, a página pesquisa.htm está pronta. Em nosso exemplo, essa página contém somente os dois formulários. Num site real, esses dois formulários normalmente são colocados como parte da home page principal ou da home page de uma seção do site. Restam ainda algumas configurações a fazer. A primeira delas é no arquivo enquete. Abra-o e escreva, na primeira linha, a repetição da pergunta central da pesquisa. Na segunda linha, indique a data final de validade da enquete. O programa vai desconsiderar votos realizados após essa data (de todo modo, a essa altura o webmaster já deverá ter retirado a pesquisa do ar). Em seguida, escreva uma linha para cada opção, no formato mostrado abaixo. Os nomes das opções (op1, op2) devem ser exatamente os mesmos utilizados no formulário. Idem para as legendas (Linux, Mac OS etc.). O número entre os sinais de igualdade corresponde ao total parcial de votos registrado para cada alternativa.


Qual o seu sistema operacional preferido?


28/11/2000


op1=1=Linux


op2=1=Mac OS


op3=1=OS/2


op4=1=Windows 95/98/Me


op5=1=Windows 2000

Passemos, agora, ao arquivo Perl. Abra vote.pl e localize, no início, o bloco Configurações. Defina, conforme as condições de seu servidor, as linhas indicadas nesse bloco


$BaseDir = "/home/dados";


$destino="operador\@seusite.com.br";


$PageErr="http://www.seusite.com.br/enquete/manuten.htm";

O arquivo manuten.htm avisa que a pesquisa está temporariamente inativa, caso haja algum problema. A variável $destino deve conter o endereço de e-mail do webmaster. O programa, automaticamente, enviará a ele uma mensagem quando ocorrer algum erro na enquete - por exemplo, no caso de um algum arquivo tornar-se corrompido. Assim, o gerente do site ficará alertado e poderá tomar alguma providência. Uma característica adicional do programe vote.pl é que ele procura evitar a dupla votação. Para isso, grava um cookie no micro do internauta. O código verifica a existência do cookie e nega ao internauta o direito de votar uma segunda vez. Para isso, apresenta uma mensagem.


Tarefa concluída. Naturalmente, você pode redesenhar os arquivos complementares para que reflitam o estilo utilizado nas páginas de seu site. Para fazer nova pesquisa, basta mexer em dois arquivos: pesquisa.htm (ou em sua home page, se os formulários estiverem embutidos nela) e enquete, cujo conteúdo deve repetir as definições de pesquisa.htm. Agora, é só encontrar temas interessantes e solicitar a opinião dos visitantes de seu site. Eles adoram participar.


 
 

Nossos Clientes

Perfil da Empresa
Parceiros
Oportunidades
Web Sites
Domínios
Busca na Web
Hospedagem
Softwares

Vantagens Dijaweb