Coluna Dreamweaver – Envio de formulário com ajax – Parte FinalIntroduçãoSalve Pessoal! Desculpe a demora, mais esse semestre estou muito atarefado. ConceitosNesse tutorial você vai ver funções básica para manipulação de ficheiros utilizando o php, como por exemplo, abrir, fechar, ecrever e manipula as informações contida nele, e ainda criar cookies. Nessa parte do tutorial você vai construir dois página, uma responsável por manipular e escrever no ficheiro e outra que vai ser o grafico com os resultados da enquete. ConteúdoCrie uma nova página em PHP e salve com o nome de contar_votos.php, crie também um documento de texto (txt) e salve com o nome de resultat.txt. Não se esqueça de dar permissão de escrita no arquivo de texto(CHMOD 777). <?php Agora iremos colocar a mão na massa, crie uma variável para armazenar o local onde estar salvo o arquivo txt. $fichier=”resultat.txt”; Para abrir o arquivo txt utilize a função fopen. Crie uma variável ($pointeur) para armazenar o ponteiro de escrita e passar os dois parâmetros necessários, o primeiro é a variável que indica o local do arquivo ($fichier) a ser aberto e o segundo é o modo de leitura (r+), neste caso será aberto com permissão para escrita */ $pointeur=fopen($fichier,”r+”); Crie outra variável ($enquete) para ler e armazenar o conteúdo do ficheiro em uma string. A leitura do arquivo txt é feita pela função fread que ler o arquivo e retorna uma string com o conteúdo, e necessita de dois parâmetros, o primeiro parâmetro é a string que armazena as configurações para abertura do arquivo ($pointeur). O segundo parâmetro determina até onde o arquivo será lido nesse caso está associado a função filesize para retornar o tamanho do arquivo ($fichier) e assim realizar a leitura de todo o arquivo $enquete=fread($pointeur,filesize($fichier)); Após fazer a leitura do arquivo e armazenar seu conteúdo na string ($enquete), divida essa string em strings individuais, e em cada string individual será armazenado uma opção da enquete. A divisão da string e feita pela função explode, e utiliza como marcador de separação a vírgula(,). Assim os valores que estão antes de cada vírgula serão divididos e transformados em strings, podendo ser escrito e manipulado individualmente. $enquete=explode(“,”,$enquete); Crie uma variável ($reponse) para armazenar a opção que o usuário escolheu $reponse = $_POST['reponse']; Identifique a opção escolhida e some mais um no valor da variável. $enquete[$reponse]++; Para que o voto seja escrito na posição correta deve ser indicado a seqüência de escrita e armazenagem das strings. Como a string está dividida ele dever ser juntada na ordem correta, por exemplo, na primeira string fica armazenado os votos da primeira opção, cujo identificador é zero (value=”0″), na segunda string depois da virgula fica armazenado os votos da segunda opção, cujo o identificador é um (value=”1″) e assim por diante… $enquete=$enquete[0].”,”.$enquete[1].”,”.$enquete[2].”,”.$enquete[3]; Reinicialize a posição do ponteiro de arquivos para o início rewind($pointeur); Utilizando a função fputs faça a gravação da string no arquivo fputs($pointeur,$enquete); Utilizando a função fclose feche e encerre a manipulação do arquivo fclose($pointeur); Pronto agora inclua a página com os resultados, que será construida na proxima etapa. <?php include(‘ resultados.php’); ?> Como foi criado o cookie agora abra a página index.php que foi criada no tutorial anterior. Quando o usuário votar na enquete será gerado o cookie com o valor ‘votado’, para não permite que o usuário vote novamente iremos aplicar um teste de verdadeiro ou falso, se for verdadeiro que o cookie existe então mostre uma frase (echo “Você já participou !”) e escondar o botão submit, agora se esse teste for falso e o usuário ainda não votou então mostre o botão submit para que possa ser enviado o voto. Localize o botão submit e substitua por esse código <?php Criando a página para mostrar os resultadosCrie uma nova página para armazenar os resultados, essa página dever ter o mesmo nome que foi dado na hora que você incluiu na página conta_votos.php no meu exemplo o nome é resultados.php. <?php include(‘config.php’); ?> Faça novamente a leitura do arquivo txt, como já expliquei no inicio e acho que você entendeu vou direto aos codigos $fichier=”resultat.txt”; Como o arquivo já foi lido, e a string divida em strings individuais contendo os votos de cada opção da enquete. Crie uma variável ($total) para soma todos os votos, lembrando que as estrings estão dividias e nosso exemplo tem quatros opções. $total=$enquete[0]+$enquete[1]+$enquete[2]+$enquete[3]; Crie outra variável ($longueur) para definir a largura máxima do gráfico. $longueur=200; Para criar os gráficos em colunas devemos trabalhar com uma coluna para cada opção da enquete, essa coluna será calculada através do total de votos da opção multiplicado pelo total geral de todas as opções, como a largura do gráfico será delimitada, divida a largura do gráfico pelo total de votos. Crie uma variável ($longueur) para cada opção da enquete essa variavel será a largura do grafico. $longueur0=$enquete[0]*$longueur/$total; Como o numero com certeza ficou muito quebrado devemos arredondar utilizando a função round. $longueur0=round($longueur0); Crie uma nova variável ($pourcent), uma para cada opção da enquete, para pode calcular a porcentagem de cada opção e depois arredondá-las igual a anterior. $pourcent0=100*$enquete[0]/$total; //Calcular porcentagem $pourcent1=100*$enquete[1]/$total; $pourcent2=100*$enquete[2]/$total; $pourcent3=100*$enquete[3]/$total; Estamos na reta final. Crie uma nova tabela com 3 coluna e com 4 linhas uma linha para cada opção. <table border=”0″> |




ShareThis
Muito bom, obrigado!!
Continue postando está fazendo um ótimo trabalho!!!
Me desculpe, mas tem a parte que diz, “Não se esqueça de dar permissão de escrita no arquivo de texto”
Como faço isso?