Ir para conteúdo
Fórum Script Brasil
  • 0

Construção de simulado online


Rafael Rocha B.

Pergunta

Olá pessoal,

Estou com uma dúvida que é mais relacionada a lógica do que propriamente a linguagem.

Estou construindo um simulado que tem 40 questões randomicas, e estou usando o framework codeigniter.

Consigo fazer a consulta no banco de dados, selacionar e exibir as questões randomicamente atrvés de um 'foreach':

echo form_open(base_url().'geraquestoes/correcao');//Abro o formulário

foreach($legislacao as $legisla):

echo $contador.")";

echo heading($legisla->enunciado,4);

echo $legisla->item1;

echo br();

echo $legisla->item2;

echo br();

echo $legisla->item3;

echo br();

echo $legisla->item4;

$legisla->resposta;

echo br();

echo form_label("Resposta:",$legisla->id);

$dados = array(

'name' => 'questao',

'maxlength' => '1',

'size' => '5',

);

echo form_input($dados);

echo form_hidden('id',$legisla->id);

$contador += 1;

echo br();

endforeach;

echo br(2);

echo form_submit('submit', 'Corrigir'); //name e value do submit

echo form_close(); //Fecha o formulário

Dessa forma consigo exibir todas as 40 questões. E com o formulário passo os dados para uma outra função, e é ai que mora o grande problema, pois só vai os dados da última questão e não o de todas as 40. Como fazer para armazenar todas as respostas das 40 questões e passá-las para a função que chamo? Alguém tem alguma ideia?

Editado por Rafael Rocha B.
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Rafael,

você pode enviar para o PHP um array multidimensional com os dados respondidos pelo usuário no Form.

Segue um exemplo.

formulario.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head></head>
<body>
        <form action="responder.php" method="post">
        
            Questão1<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/>
            Questão2<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/>        
            Questão3<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/> 
             Questão4<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/>                        
            <input type="submit" value="ok"/>
        </form>
    </body>
responder.php
$questionario = ($_POST['QUESTIONARIO'])? $_POST['QUESTIONARIO'] : array();
//imprimir o array na tela 
echo '<pre>'; print_r($questionario); echo '</pre>';
exit();

O script responder.php irá retornar um array multidimensional com todas as respostas marcadas.

Por exemplo:

Array

(

[QUESTAO1] => Resposta 2

[QUESTAO2] => Resposta 3

[QUESTAO3] => Resposta 4

[QUESTAO4] => Resposta 1

)

Abraço

Editado por Romero Dias
Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Romero, consegui desenrolar aqui. Não queria ter que digitar as 40 questões, queria fazer usando um loop uma vez que pego as questões no banco de dados.

A dúvida era como individualizar cada questão. Tentei fazer da propriedade "name" do input o id da questão, mas deu erro de sintaxe.

Enfim, a sua solução resolveu meu problema, muito obrigado.

Abraço,

Rafael,

você pode enviar para o PHP um array multidimensional com os dados respondidos pelo usuário no Form.

Segue um exemplo.

formulario.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head></head>
<body>
        <form action="responder.php" method="post">
        
            Questão1<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO1]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/>
            Questão2<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO2]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/>        
            Questão3<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO3]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/> 
             Questão4<br/><br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 1"/> Resposta 1<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 2"/> Resposta 2<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 3"/> Resposta 3<br/>
            <input type="radio" name="QUESTIONARIO[QUESTAO4]" value="Resposta 4"/> Resposta 4<br/>
            <br/><br/>                        
            <input type="submit" value="ok"/>
        </form>
    </body>
responder.php
$questionario = ($_POST['QUESTIONARIO'])? $_POST['QUESTIONARIO'] : array();
//imprimir o array na tela 
echo '<pre>'; print_r($questionario); echo '</pre>';
exit();

O script responder.php irá retornar um array multidimensional com todas as respostas marcadas.

Por exemplo:

Array

(

[QUESTAO1] => Resposta 2

[QUESTAO2] => Resposta 3

[QUESTAO3] => Resposta 4

[QUESTAO4] => Resposta 1

)

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Existe um Script Gratuito que Gera Simulados, basta acessar o link abaixo:
Para Acesso, Download Gratuito e Manual de instalação:
Para Somente Download:
Existe um Script Nesse Estilo no link abaixo:
Ele é pago, mas vale a Pena
Se tiverem problemas, me chama que ajudo.
Marcelo Shibata
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...