PHP
Fazendo uma enquete simples com arquivos texto
Meu nome é Wescley, trabalho com informática desde 1998, e desde 2000 na área de web.Sou programador iniciante em PHP/Mysql, por isso resolvi escrever artigos mais simples e mais detalhados, pois sei o quanto é difícil entender um script mal explicado quando se é iniciante.
Neste artigo vamos fazer passo a passo uma simples enquête que armazena os resultados em arquivos txt.
Bem, vamos lá... Mão na massa!
Abra seu editor preferido e crie um formulário. Agora adicione três botões de rádio em seu formulário. De o nome de voto para os botões de rádio e quanto aos valores, vamos fazer da seguinte forma:
- O primeiro rádio será referente ao valor ÓTIMO, então coloque O no value.
- O segundo rádio será referente ao valor BOM, então coloque B no value.
- O terceiro rádio será referente ao valor RUIM, então coloque R no value.
Agora insira o botão submit e de o nome de Votar.
Na ação do formulário coloque o nome do próximo arquivo que vamos criar: vota.php.
Pronto salve sua página como formulario.php.
Agora vamos criar a página votar.php que será a responsável por receber o voto e armazena-lo em seu respectivo local.
Para começar, temos que buscar a variável enviada pela página formulário.php.
| // RECEBE A VARIÁVEL VOTO $voto = $_POST['voto']; Agora vamos fazer um array com o caminho dos respectivos arquivos textos, pois teremos um arquivo para cada resultado. Ficará assim: // ARRAY COM O CAMINHO PARA OS ARQUIVOS TEXTOS |
Agora vamos verificar se a variável $voto não veio vazia:
| // VERIFICA SE A VARIÁVEL VOTO NÃO ESTÁ VAZIA if (!empty($voto)) { |
Caso a variável $voto não esteja vazia, então vamos verificar qual o conteúdo da mesma para que o script grave o voto no arquivo correto.
Veja abaixo, verifica se o valor da variável $voto é R e soma 1 ao valor já contido no arquivo “ruim.txt”:
| // VERIFICA SE A VARIÁVEL VOTO CONTEM O VALOR "R" if ($voto == "R") { // ABRE O ARQUIVO TEXTO REFERENTE AO VOTO "R" PARA LEITURA $abrir = fopen($arquivo['ruim'], "r"); // LÊ O ARQUIVO REFERENTE AO VOTO "R" $ler = fread($abrir, filesize($arquivo['ruim'])); // ABRE O ARQUIVO PARA GRAVAÇÃO $gravar = fopen($arquivo['ruim'], "w"); // ADICIONA O VALOR 1 AO VALOR JÁ CONTIDO NO ARQUIVO E GRAVA $grava = fwrite($gravar, $ler+1); } |
Caso o valor da variável $voto não seja R, então iremos verificar se o valor então é B e somar 1 ao valor já existente no arquivo “bom.txt”:
| // VERIFICA SE A VARIÁVEL VOTO CONTEM O VALOR "B" else if ($voto == "B") { // ABRE O ARQUIVO TEXTO REFERENTE AO VOTO "B" PARA LEITURA $abrir = fopen($arquivo['bom'], "r"); // LÊ O ARQUIVO REFERENTE AO VOTO "B" $ler = fread($abrir, filesize($arquivo['bom'])); // ABRE O ARQUIVO PARA GRAVAÇÃO $gravar = fopen($arquivo['bom'], "w"); // ADICIONA O VALOR 1 AO VALOR JÁ CONTIDO NO ARQUIVO E GRAVA $grava = fwrite($gravar, $ler+1); } |
E caso a variável $voto não seja R e nem B, só nos resta verificar se o valor é O para somar mais 1 ao conteúdo do arquivo “ótimo.txt”:
| // VERIFICA SE A VARIÁVEL VOTO CONTEM O VALOR "O" else if ($voto == "O") { // ABRE O ARQUIVO TEXTO REFERENTE AO VOTO "O" PARA LEITURA $abrir = fopen($arquivo['otimo'], "r"); // LÊ O ARQUIVO REFERENTE AO VOTO "O" $ler = fread($abrir, filesize($arquivo['otimo'])); // ABRE O ARQUIVO PARA GRAVAÇÃO $gravar = fopen($arquivo['otimo'], "w"); // ADICIONA O VALOR 1 AO VALOR JÁ CONTIDO NO ARQUIVO E GRAVA $grava = fwrite($gravar, $ler+1); } |
Caso tudo ocorra bem, a variável $voto venha com algum valor, R, B ou O, o script então imprime uma mensagem de sucesso na tela, seguida de um link chamdo Resultados que, direciona para a página resultados.php que mostra os votos já armazenados nos arquivos txt:
| // IMPRIME A MENSAGEM DE SUCESSO CASO TUDO OCORRA CORRETAMENTE echo " Voto realizado com sucesso!"; echo " Resultados ";} else { |
Agora, caso aconteça algum problema, tal como o usuário não marcar nenhum resulta e tentar votar, a variável $voto virá vazia, então vamos finalizar o primeiro if do script colocando uma mensagem de erro:
| // IMPRIME A MENSAGEM DE SUCESSO CASO TUDO OCORRA CORRETAMENTE echo " Voto realizado com sucesso!"; echo " Resultados ";} else { |
Pronto. O arquivo votar.php está concluído, vamos agora desenvolver o último arquivo da coluna, a página resultado.php.
Começamos fazendo novamente um array com os caminhos para os arquivos txts.
| // ARRAY COM O CAMINHO PARA OS ARQUIVOS TEXTOS $arquivo['ruim'] = "c://apache//htdocs//enquete//ruim.txt"; $arquivo['bom'] = " c://apache//htdocs//enquete//bom.txt"; $arquivo['otimo'] = " c://apache//htdocs//enquete//otimo.txt"; |
Então vamos abrir os arquivos para leitura:
| // ABRE OS ARQUIVOS PARA LEITURA $abre_ruim = fopen($arquivo['ruim'], "r"); $abre_bom = fopen($arquivo['bom'], "r"); $abre_otimo = fopen($arquivo['otimo'], "r"); |
Agora, o script lê os arquivos e armazena os valores:
| // LÊ OS ARQUIVOS E ARMAZENA O VALOR $ler_ruim = fread($abre_ruim, filesize($arquivo['ruim'])); $ler_bom = fread($abre_bom, filesize($arquivo['bom'])); $ler_otimo = fread($abre_otimo, filesize($arquivo['otimo'])); |
E finalmente, imprime os valore na tela:
| // IMPRIME OS VALORES DOS ARQUIVOS echo " "; |
Então, nossa enquete “Orientada a TXTs” está pronta.
Espero que tenha gostado e que principalmente, tenha sito útil para você.
Não esqueça de deixar seu comentário, críticas, sugestões e etc...
Até a próxima e que Deus esteja com você.
Aniversário: 25/7/1980
Interesses: Designer Web, Programação Web em geral..
Sobre: Sou um ser humano feliz, simples, aceito o que o mundo tem a me oferecer, gosto de criticar e ser criticado, pois acredito que crescemos através das críticas. Gosto muito da área de desenvolvimento de sites e etc...
E-mail: wescley@wescley.com.br
Site-URL: www.wescley.com.br
ICQ: 145688310
MSN: wescleydesigner@hotmail.com
Parceiros
Tecnoponta Santos - SP
Capital Administração de Condomínios
BR-Linux.org
Criar WEB
Verdade Absoluta
Artigos mais acessados
Desenho de Letras - Construindo fontes TTF
Menu Circular em 3D
Criando um sistema de login
Enviando email em formato HTML em PHP
Cargos e salários na área de informática
Como fazer e modificar calendários
Serviços
Desenvolvimento de Sites e Sistemas WEB
Otimização de Sites (SEO)
Catálogo de Produtos
Parcerias e Soluções de Publicidade
Fale Conosco


