Php Ajax Enquete

Você está procurando criar uma enquete interativa em seu site usando Php Ajax Poll ?

Com a ajuda do Ajax, você pode criar facilmente um sistema de votação que permite aos usuários votar sem recarregar a página. Neste artigo, vamos orientá-lo através das etapas para criar uma enquete PHP Ajax.

Antes de começarmos, vamos discutir o que é um PHP Ajax Poll. Essencialmente, é um sistema de votação que permite aos usuários votar em uma pergunta ou tópico usando Ajax, que significa Asynchronous JavaScript and XML. O Ajax permite que o site envie e receba dados do servidor sem precisar atualizar a página. Isso torna o sistema de votação mais amigável e interativo.

Ao longo deste curso, abordaremos os fundamentos do AJAX e o guiaremos na configuração de um back-end PHP para lidar com solicitações de votação. Também forneceremos um exemplo de enquete simples que você pode personalizar para atender às suas necessidades específicas.



Etapas para criar uma enquete PHP Ajax

Para criar uma enquete PHP Ajax, você precisará seguir estas etapas:

Etapa 1: configurar a estrutura HTML

A primeira etapa é criar a estrutura HTML para a enquete. Você pode usar um formulário simples com botões de opção para as opções e um botão enviar para enviar o formulário.

Você também precisará criar um div para exibir os resultados da enquete.

Etapa 2: criar a tabela do banco de dados

Em seguida, crie uma tabela de banco de dados para armazenar os dados da pesquisa.

A tabela deve ter colunas para a pergunta da enquete, as opções da enquete e o número de votos para cada opção.

Passo 3: Criar o script PHP

Crie um script PHP que recupere os dados de votação do banco de dados e os exiba no formulário de votação.

Quando o usuário envia o formulário , o script deve atualizar o banco de dados com o voto do usuário e atualizar os resultados da enquete usando Ajax.

Etapa 4: adicionar a funcionalidade Ajax

Adicione a funcionalidade Ajax à enquete usando JavaScript e jQuery.

Você precisará usar o método jQuery.ajax() para enviar e receber dados do servidor sem recarregar a página.

Você pode usar esse método para atualizar os resultados da enquete depois que o usuário enviar seu voto.

Passo 5: Estilize a enquete

Por fim, estilize a enquete usando CSS para torná-la atraente e fácil de usar.

Aqui está um exemplo de uma enquete que é capaz de mostrar os resultados sem que o usuário precise recarregar a página.


Criando uma enquete PHP AJAX

Para criar uma enquete PHP-AJAX, precisaremos usar uma combinação de PHP, AJAX e HTML.

A enquete consistirá em uma pergunta e várias opções de resposta.

Quando um usuário seleciona uma opção de resposta, a enquete será atualizada com os resultados da enquete até o momento.

Sempre que um usuário selecionar a opção acima, uma função chamada getUserVote() será executada para determinar o voto do usuário.

Assim que o evento onclick é acionado, a função é invocada:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
<head>
<script>
function getUserVote(int) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 & this.status == 200) {
document.getElementById("poll-input").innerHTML = this.responseText;
}
}
xmlhttp.open("GET", "getPollVotes.php?resp=" + int, true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="poll-input">
<h3>Have you enjoyed learning PHP and AJAX from Mr Examples?</h3>
<form>
<b>Yes!</b>
<input type="radio" name="resp" value="0" onclick="getUserVote(this.value)">
<br>
<b>No!</b>
<input type="radio" name="resp" value="1" onclick="getUserVote(this.value)">
</form>
</div>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
O voto de um usuário pode ser recuperado usando a função getUserVote() da seguinte maneira:
  • Crie uma nova instância de XMLHttpRequest .
  • Assim que a resposta do servidor estiver pronta, crie a função que será utilizada para executar a resposta.
  • A solicitação será enviada para um arquivo no servidor em resposta à solicitação.
  • Como você pode ver na URL, um parâmetro ( a ) foi adicionado (que contém o conteúdo do campo de entrada).

O Arquivo PHP

Usando o JavaScript mencionado acima, o JavaScript chama um arquivo PHP no servidor chamado “ getPollVotes.php ”:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
$resp = $_REQUEST['resp'];
//get content of the text file
$file = 'vote-result.txt';
$content = file($file);
//add content to array
$arr = explode(' — ', $content[0]);
$yes = (int)$arr[0];
$no = (int)$arr[1];
if ($resp == 0) {
$yes += 1;
}
if ($resp == 1) {
$no += 1;
}
//add votes into text file
$add_vote = $yes . " — " . $no;
$fp = fopen($file, 'w');
fputs($fp, $add_vote);
fclose($fp);
?>
<h2>Results:</h2>
<table>
<tr>
<td>
<b>Yes!: </b>
<img src='poll.gif' width='<?php echo (200 * round($yes / ($no + $yes), 2)); ?>' height='20'>
<?php echo (200 * round($yes / ($no + $yes), 2)); ?>%
</td>
</tr>
<tr>
<td>
<b>No!: </b>
<img src='poll.gif' width='<?php echo (200 * round($no / ($no + $yes), 2)); ?>' height='20'>
<?php echo (200 * round($no / ($no + $yes), 2)); ?>%
</td>
</tr>
</table>
<h3>Thankyou for your feedback!</h3>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O trecho de código é usado para criar uma enquete que permite aos usuários votar e exibir os resultados em porcentagem. O script recebe a resposta do usuário por meio da variável $_REQUEST e atualiza os resultados da votação armazenados em um arquivo de texto de acordo. Os resultados são exibidos usando HTML.

  1. Primeiro, o script recupera o conteúdo de um arquivo de texto denominado vote-result.txt e o armazena em uma matriz $content . Em seguida, o script expande o primeiro elemento da matriz $content pelo delimitador '-' e armazena o resultado na matriz $arr . O primeiro valor da matriz $arr é atribuído à variável $yes , e o segundo valor é atribuído à variável $no . Essas variáveis ​​serão usadas para acompanhar a contagem de votos.
  2. Em seguida, o script verifica a resposta do usuário armazenada na variável $resp . Se $resp for 0 , significa que o usuário votou “Sim” e a variável $sim é incrementada em 1. Se $resp for 1 , significa que o usuário votou “Não” e a variável $no é incrementada em 1.
  3. Depois que a contagem de votos é atualizada, o script concatena os valores de $yes e $no com o delimitador ' — ' e os salva de volta no arquivo de texto usando as funções fopen , fputs e fclose .
  4. Por fim, o script exibe os resultados da votação em uma tabela usando HTML. A porcentagem de votos “Sim” e “Não” é calculada dividindo a contagem de votos pelo número total de votos, multiplicando por 100 e arredondando para duas casas decimais. Os resultados são exibidos usando uma imagem e a porcentagem é exibida ao lado dela. Uma mensagem de agradecimento também é exibida no final.

O arquivo de texto

Existe um arquivo de texto (vote-result.txt) que armazena os dados dos votos da enquete.

Aqui está como ele é armazenado:

0 -- 0

Existem dois números no arquivo de texto. O primeiro valor representa os votos “Sim” e o segundo valor representa os votos “Não”.

Observação : certifique-se de que seu servidor da Web tenha permissão para editar o arquivo de texto em seu site. Não dê acesso a todos, apenas o servidor PHP (servidor web) deve ter acesso aos arquivos.

Conclusão

Neste artigo, mostramos como criar uma enquete PHP AJAX que é fácil de implementar e interativa para seus usuários.

Seguindo as etapas descritas neste artigo, você pode criar uma enquete que envolva os visitantes do seu site e forneça um feedback valioso para sua empresa ou organização.

Com o poder do PHP e AJAX, você pode criar páginas da web dinâmicas que mantêm seus usuários envolvidos e voltando para mais.

Se você gostou deste artigo e achou informativo sobre Php Ajax Poll, você pode deixar seu feedback reagindo abaixo.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone