Fórum Sistema de perguntas com Ajax #618726

16/09/2022

0

Boa tarde, estou tentando desenvolver um sistema de questões com Jquery Ajax. Deu tudo certinho, utilizando POST (pois vou colocar pelo PHP). No entanto, ele só funciona no primeiro formulário.
A página inicial retorna as questões do banco de dados por um loop while com PHP, quando eu clico em responder ele troca o parágrafo que está abaixo do botão submit para a resposta que o usuário botou, porém só funciona com a primeira questão, o resto quando clico em responder a pagina atualiza e nada acontece. Se alguém puder me ajudar, preciso muito disso.

index.php
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
    // INCLUI A CONFIGURAÇÃO DO PAGAMENTO
    include("php/connect.php");
?>
<!doctype html>
<html lang="pt-BR">
    <head>
        <!-- required meta tags -->
        <meta charset="utf-8">
        <title>Pagamento</title>
    </head>
 
    <body>
 
    <?php
 
        // LOOP COM As PERGUNTAS
        $query = $conn->prepare("SELECT * FROM questoes");
        $query->execute();
 
        while($row = $query->fetch(PDO::FETCH_ASSOC)){
    ?>
    <form action="" method="POST" id="questao">
        <p><?php echo $row[''''pergunta'''']; ?></p>
 
        <br>
        <input type="hidden" id=''''id'''' value="<?php echo $row[''''id'''']; ?>">
        <input type="radio" name="opcao" id="opcao" value="a"/><?php echo $row[''''opcao_a'''']; ?><br>
        <input type="radio" name="opcao" id="opcao" value="b"/> <?php echo $row[''''opcao_b'''']; ?><br>
        <input type="radio" name="opcao" id="opcao" value="c"/><?php echo $row[''''opcao_c'''']; ?><br>
        <input type="radio" name="opcao" id="opcao" value="d"/><?php echo $row[''''opcao_d'''']; ?><br>
        <input type="radio" name="opcao" id="opcao" value="e"/><?php echo $row[''''opcao_e'''']; ?><br>
        <br><br>
 
        <input type="submit" id="submit" value="responder"> <p id="resposta_user">aaa</p>
    </form>
 
    <?php } ?>
 
    <!-- JQUERY -->
     
 
    <script>
    $(document).ready(function(){
        $("#submit").click(function(event){
            event.preventDefault();
            var opcao = $("input[name=''''opcao'''']:checked").val();
            var id = $("#id").val();
 
            $.ajax({
                url: ''''php/responder.php'''',
                method: ''''POST'''',
                data: {opcao: opcao, id: id}
            }).fail(function(){
                alert(''''erro'''');
            }).done(function(result){
                var id = $("#resposta_user").html(result);
            });
        });
    });
    </script>
     
    </body>
</html>


responder.php
1
2
3
4
5
6
7
<?php
    $id = $_POST[''''id''''];
    $resposta = $_POST[''''opcao''''];
     
    echo "ID DA QUESTÃO " . $id;
    echo "RESPOSTA DO USUÁRIO " . $resposta;
?>
João Lucas

João Lucas

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar