Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wagner_Garcia

Gravar a opção escolhida de um radio button na session

Recommended Posts

Salve, Salve galera... Sou leigo em PHP e to precisando de uma ajuda!!!

 

Quero gravar a opção escolhida de um radio button na session. Estou implementando um questionário com 04 páginas, e a opção de resposta é rádio button. Cada questão tem 05 opções e obviamente fiz um array para funcionar. Eu até consegui gravar o array na session e avançar para as proximas paginas e gravar as respostas no BD.

 

O problema eh... para eu gravar tive q criar 02 botões... um para gravar na sessão e outro para avançar para proxima pagina.... sinceramente deu certo, porem, ficou horrivel... Como fazer para q um unico botao exerça as 02 funçoes???

 

Desde ja, agradeço!!!

 

 

Logo abaixo esta o código com os 02 botões q coloquei para poder gravar no BD... ME AJUDEM, POR FAVOR!!!

 

 

<?php

session_start();
session_register("resposta"); //procurar pela funcao;
echo "<b>$cod_usuario<p>";
echo($cod_curso);

?>


<html>
<body>

</b>

<div align="center"><font color= "green"><font size="7" face="Arial Black">PASSO 1/4</font></font>
<br><br>
<b><font size="4" face="Arial, Helvetica, sans-serif"><font color= "red">PADRÃO DE QUALIDADE
DE PROJETO DE DISCIPLINA</b></font><br></div align>
<br></font></face>


<form method="post" action="04.php">
<input type="Submit" name="submit" value=">>>>>>"></p>
</form>



<p><font face="Arial, Helvetica, sans-serif"> 1) O corpo docente correspondeu à experiência
profissional necessária para ministrar a disciplina?</a></p>

<form method="post" action="03.php">
<INPUT TYPE="RADIO" NAME="resposta1" VALUE="excelente" CHECKED = "true"<Excelente<br>
<INPUT TYPE="RADIO" NAME="resposta1" VALUE="ótimo"<Ótimo<br>
<INPUT TYPE="RADIO" NAME="resposta1" VALUE="bom"<Bom<br>
<INPUT TYPE="RADIO" NAME="resposta1" VALUE="regular"<Regular<br>
<INPUT TYPE="RADIO" NAME="resposta1" VALUE="péssimo"<Péssimo<br></p>
<input type="Submit" name="submit" value="Avançar"></p>
</form>


<?php

$resposta[0] = $_POST["resposta1"];
$resposta[1] = $_POST["resposta2"];
$resposta[2] = $_POST["resposta3"];
$resposta[3] = $_POST["resposta4"];
$resposta[4] = $_POST["resposta5"];
$resposta[5] = $_POST["resposta6"];
$resposta[6] = $_POST["resposta7"];
$resposta[7] = $_POST["resposta8"];

?>



</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu entendi corretamente, tudo que tu tem que fazer seria que, na "proxima pagina" (ou seja, para a pagina onde a pessoa vai ir), fazer com que a sessao receba os dados do formulario anterior e atribua-os à tua sessao, simples :D

 

particularmente, nao vejo como fazer isso com dois botoes :S

 

se nao for isso, peço que explique novamente :)

 

flw xD/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza OoDragooNoO... a proxima pagina tem sessão onde recebe as informações da página anterior

 

Repare q a linha em vermelho c refere a gravação da session e ela esta voltada para ela mesma, pois essa pagina do questionario eh a 03.php.... e a linha azul eh para eu avançar para proxima pagina.

Respondi um questionario on line, e o mesmo botao avançar armazenava informações na session e ia para a proxima pagina.... quero q me ajude a encontrar o comando exato para q eu possa melhorar meu questionario!!

 

 

 

<?php

 

 

session_start();

session_register("resposta"); //procurar pela funcao;

echo "<b>$cod_usuario<p>";

echo($cod_curso);

 

?>

 

 

<html>

<body>

 

</b>

 

<div align="center"><font color= "green"><font size="7" face="Arial Black">PASSO 1/4</font></font>

<br><br>

<b><font size="4" face="Arial, Helvetica, sans-serif"><font color= "red">PADRÃO DE QUALIDADE

DE PROJETO DE DISCIPLINA</b></font><br></div align>

<br></font></face>

 

 

<form method="post" action="04.php">

<input type="Submit" name="submit" value=">>>>>>"></p>

</form>

 

 

 

<p><font face="Arial, Helvetica, sans-serif"> 1) O corpo docente correspondeu à experiência

profissional necessária para ministrar a disciplina?</a></p>

<form method="post" action="03.php">

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="excelente" CHECKED = "true"<Excelente<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="ótimo"<Ótimo<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="bom"<Bom<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="regular"<Regular<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="péssimo"<Péssimo<br></p>

<input type="Submit" name="submit" value="Avançar"></p>

</form>

 

 

<?php

 

$resposta[0] = $_POST["resposta1"];

$resposta[1] = $_POST["resposta2"];

$resposta[2] = $_POST["resposta3"];

$resposta[3] = $_POST["resposta4"];

$resposta[4] = $_POST["resposta5"];

$resposta[5] = $_POST["resposta6"];

$resposta[6] = $_POST["resposta7"];

$resposta[7] = $_POST["resposta8"];

 

?>

 

 

 

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza OoDragooNoO... a proxima pagina tem sessão onde recebe as informações da página anterior

 

Repare q a linha em vermelho c refere a gravação da session e ela esta voltada para ela mesma, pois essa pagina do questionario eh a 03.php.... e a linha azul eh para eu avançar para proxima pagina.

Respondi um questionario on line, e o mesmo botao avançar armazenava informações na session e ia para a proxima pagina.... quero q me ajude a encontrar o comando exato para q eu possa melhorar meu questionario!!

 

 

 

<?php

 

 

session_start();

session_register("resposta"); //procurar pela funcao;

echo "<b>$cod_usuario<p>";

echo($cod_curso);

 

?>

 

 

<html>

<body>

 

</b>

 

<div align="center"><font color= "green"><font size="7" face="Arial Black">PASSO 1/4</font></font>

<br><br>

<b><font size="4" face="Arial, Helvetica, sans-serif"><font color= "red">PADRÃO DE QUALIDADE

DE PROJETO DE DISCIPLINA</b></font><br></div align>

<br></font></face>

 

 

<form method="post" action="04.php">

<input type="Submit" name="submit" value=">>>>>>"></p>

</form>

 

 

 

<p><font face="Arial, Helvetica, sans-serif"> 1) O corpo docente correspondeu à experiência

profissional necessária para ministrar a disciplina?</a></p>

<form method="post" action="03.php">

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="excelente" CHECKED = "true"<Excelente<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="ótimo"<Ótimo<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="bom"<Bom<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="regular"<Regular<br>

<INPUT TYPE="RADIO" NAME="resposta1" VALUE="péssimo"<Péssimo<br></p>

<input type="Submit" name="submit" value="Avançar"></p>

</form>

 

 

<?php

 

$resposta[0] = $_POST["resposta1"];

$resposta[1] = $_POST["resposta2"];

$resposta[2] = $_POST["resposta3"];

$resposta[3] = $_POST["resposta4"];

$resposta[4] = $_POST["resposta5"];

$resposta[5] = $_POST["resposta6"];

$resposta[6] = $_POST["resposta7"];

$resposta[7] = $_POST["resposta8"];

 

?>

 

 

 

</body>

</html>

hm....(acho que) entendi :D

 

assim, tu nao precisa fazer tudo isso, basta tu fazer o seguinte :

 

<?php
 session_start();
 
 $_SESSION['resposta'][] = $_POST['resposta'];
 ?>
 <html>
 <head>
 <title></title>
 <body>
 <div align="center">
 <font color="green"><font size="7" face="Arial Black">PASSO 1/4</font></font>
 <br><br>
 <b><font size="4" face="Arial, Helvetica, sans-serif"><font color= "red">PADRÃO DE QUALIDADE
 DE PROJETO DE DISCIPLINA</b></font><br></div align>
 <br></font></face>
 <p><font face="Arial, Helvetica, sans-serif"> 1) O corpo docente correspondeu à experiência
 profissional necessária para ministrar a disciplina?</a></p>
 <form method="post" action="04.php">
 <INPUT TYPE="RADIO" NAME="resposta" VALUE="excelente" CHECKED = "true">Excelente<br>
 <INPUT TYPE="RADIO" NAME="resposta" VALUE="ótimo">Ótimo<br>
 <INPUT TYPE="RADIO" NAME="resposta" VALUE="bom">Bom<br>
 <INPUT TYPE="RADIO" NAME="resposta" VALUE="regular">Regular<br>
 <INPUT TYPE="RADIO" NAME="resposta" VALUE="péssimo">Péssimo<br></p>
 <input type="Submit" name="submit" value="Avançar"></p>
 </form>

perceba que eu modifiquei todo o seu codigo para apenas umas poucas linhas (em tempo: seu html esta todo errado, mas nao perdi tempo arrumando-o)

 

na linha 4 :

$_SESSION['resposta'][] = $_POST['resposta'];
como notei que tu nao havia disponibilizado a opçao de voltar, pensei em fazer assim, e eh bastante simples ^_^

apenas leve isso em consideraçao : os teus formularios vao sempre "apontar" pra proxima pagina, e todos os teus campos sempre se chamarao "resposta"

fazendo isso, bastaria fazer essa linha que ela resolveria teus problemas, pois quando colocamos "[]" (abre-e-fecha colchetes) estamos pedindo ao PHP para adicionar o valor na nossa ultima posiçao do array (o array começa na posiçao "0" (zero), lembre-se)

portanto, se seguir esta logica, todas as respostas estarao sempre na posiçao "n-1" (resposta da 4 na posiçao 3, por exemplo)

 

o que eu fiz foi apenas fazer com que a pagina "seguinte" trate os dados da pagina anterior, adicionado a resposta à nossa variavel de sessao ^_^

 

em caso de duvidas, pergunte ;)

 

flw xD/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iai...Firmeza OoDragooNoO????

 

Brother... aqele esqeminha q me mostro nao deu certo... ainda nao consegui gravar as respostas no banco de dados!!!

 

O exemplo q postei soh tinha uma unica questao... mas na realidade sao varias... talvez a forma q mostro para mim, desse certo c o qestionario tivesse apenas uma qestao por pagina

 

Hj eu fiz varios testes, mas td foi em vão... e fico me perguntando, pq eu consigo armazenar as respostas na session e gravar no bd somente c eu clicar no botao q fiz para direcionar a pagina "03.php" para a respectiva pagina "03.php", e somente avançar para a pagina "04.php" num outro botao???? seria apenas algum erro de sintaxe... ou algum comando inutil???

 

To pirano... me ajudemmmm!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iai...Firmeza OoDragooNoO????

 

Brother... aqele esqeminha q me mostro nao deu certo... ainda nao consegui gravar as respostas no banco de dados!!!

 

O exemplo q postei soh tinha uma unica questao... mas na realidade sao varias... talvez a forma q mostro para mim, desse certo c o qestionario tivesse apenas uma qestao por pagina

 

Hj eu fiz varios testes, mas td foi em vão... e fico me perguntando, pq eu consigo armazenar as respostas na session e gravar no bd somente c eu clicar no botao q fiz para direcionar a pagina "03.php" para a respectiva pagina "03.php", e somente avançar para a pagina "04.php" num outro botao???? seria apenas algum erro de sintaxe... ou algum comando inutil???

 

To pirano... me ajudemmmm!!!!

Tenta ai e veja se cai no if ou no else

 

<?php
session_start();

if ( isset ( $_POST["resposta1"] ) ){
	$_SESSION['resposta1'] = $_POST["resposta1"];
	echo "Pegou o o valor da Session: ".$_SESSION['resposta1']."";
}else{
	echo "Erro: Não pegou a session";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iai WDuarte... a paradinha q você me passou foi mto util.... tive certeza q as respostas nao estao sendo armazenadas na session.... a não ser um botão q criei... e q reporta para a mesma pagina....

 

Num post acima, disse q tenho 02 botoes na página.... um deles eh o botão q consigo fazer armazenar as respostas na session...(ex.: estou na pagina 03.php... criei um botão que vai para a mesma pagina 03.php... soh assim consigo armazenar as informações na session) e criei um botão q avanço para a pagina 04.php..

 

 

 

se alguem puder me mostrar um modelo que tenha como opção de resposta radio button... esse radio button deve estar em array... e o respectivo resultado deve ser armazenado na session....

 

 

Se vcs tiverem uma solução para esse problema e puderem me ajudar... eu fico mto agradecido!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wagner!

 

por exemplo, esse form esta enviando o que?

nada!

 

<form method="post" action="04.php">
<input type="Submit" name="submit" value=">>>>>>"></p>
</form>

 

Troque por um simples javascript

 

<input name="submit2" type="submit" onclick="window.location='04.php';" value="Próxima" />

invés de session tente passar por campos escondidos do tipo hidden

 

<input type="hidden" name="valor" value="<?php echo $valor; ?>">

Não precisa nem usar as superglobais só uma simples $var;

e vai passando de pagina em pagina os valores

 

 

Abraços!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.