Ir para conteúdo

POWERED BY:

Arquivado

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

LenS

[Resolvido] Como incrementar varialvel recebida por Post em Php?

Recommended Posts

E ae Galera!

 

Estou com uma dúvida cruel.

 

como incrementar uma variavel recebida por Post?

 

Explicando melhor, eu tenho um formulario que exibe um questionario com um numero indeterminado de questões, depende de

quantas questões eu postei no meu banco sql. Fiz um formulario que exibe essas perguntas e respostas incrementando-as.

 

ex:

 

<?php
$prova = $_GET['prova'];

$consulta = "SELECT * FROM perguntas WHERE idprova = $prova";

$result = mysql_query ($consulta,$conexao) or die ("Não foi possivel consultar o banco");

echo "						
		<form method='post' action='resultado.php'>
		";
$i = 1;

$quantidade = mysql_num_rows($result);

if ($quantidade > 0)
{

while ($linha = mysql_fetch_array($result))
{
echo "
			<font face='Verdana' color='gray' size='3'> $i) $linha[2] </font>

			<font face='Verdana' size='2'>
			<p> a) <input type='radio' name='respostas$i' value='a'> $linha[3] </p>
			<p> B) <input type='radio' name='respostas$i' value='b'> $linha[4] </p>
			<p> c) <input type='radio' name='respostas$i' value='c'> $linha[5] </p>
			<p> d) <input type='radio' name='respostas$i' value='d'> $linha[6] </p>
			<p> e) <input type='radio' name='respostas$i' value='e'> $linha[7] </p>
			<br>
			</font>
			";
		$i++;			
}
echo "
<input type='hidden' name='prova' value='$prova'>
<input type='submit' value='Enviar Respostas'>
</form>
";
}
else
{
echo "Não existe Questões para esta prova";
}	

?>

 

Na página resultado.php, gostaria de exibir a quantidade de perguntas que tem no banco e o numero de respostas corretas respondidas pelo usuario, mas meu

problema é que eu não sei como recuperar essa variavel pelo metodo post do formulario.

 

Eu fiz assim, tentei inventar neh :P

 

$consulta = "SELECT * FROM perguntas";
$result = mysql_query ($consulta,$conexao);
$quantidade = mysql_num_rows ($result);

for ($i = 0 ; $i < $quantidade; $i++)
{
$respostas.$i = $_POST['respostas'.$i];
}

 

Que coisa doida neh?

 

Bom minha duvida é se existe algo parecido com isso? Qual a sintaxe para realizar essa minha intenção....

 

$respostas.$i = $_POST['respostas'.$i];

:huh:

 

ou seja, incrementar esse post vindo do formularia que já esta sendo incrementado.

 

Por favor me ajudem.... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara se liga..

 

 

recupera como array e pronto.. esquece esse incremento.

 

dá o nome do option de "respostas[]"

 

Muda o nome do option para respostas[]

 

ele vai virar um array na próxima página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mudar o nome do option ou do name dos meus radio buttons?

 

eu incremento o form pq são 3 perguntas registradas no meu banco, e se eu não incrementar, só da

pra selecionar 1 radio button na página,o certo é selecionar um radio por pergunta, mas minha

pagina mostra varias perguntas, no caso 3.cada pergunta tem 5 respostas.

 

Acho q eh melhor usar array, mas não sei usa direito. ai tentei dakele jeito.

 

Você pode me auxiliar em como eu posso muda esse meu codigo pra usar Array?

 

Vlww!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

$respostas.$i = $_POST["respostas".$i.""];

 

Se não der certo, faça assim, para debugar e ver o resultado que está saindo:

$respostas.$i = $_POST["respostas".$i.""];
echo $respostas.$." - ".$_POST["respostas".$i.""];

Compartilhar este post


Link para o post
Compartilhar em outros sites

André, eu coloquei assim para testar:

 

<?php

for($i = 1; $i == 3; $i ++)
{
$respostas.$i = $_POST["respostas".$i.""];
echo $respostas.$i." - ".$_POST["respostas".$i.""];
}

?>

 

Não deu erro nenhum, mas a tela fico em branco. hehehe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba!! kkkkk

 

Fiz essa alteração ae, mas acho q ele entro num loop infinito. fica repetindo infinitamente na tela os erros:

 

Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in D:\Webserver\Apache2.2\htdocs\questionario\resultado.php on line 13 Notice: Undefined variable: respostas in D:\Webserver\Apache2.2\htdocs\questionario\resultado.php on line 13 Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in D:\Webserver\Apache2.2\htdocs\questionario\resultado.php on line 14 Notice: Undefined variable: respostas in D:\Webserver\Apache2.2\htdocs\questionario\resultado.php on line 14 Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in D:\Webserver\Apache2.2\htdocs\questionario\resultado.php on line 14

 

Mas vlw, só ta faltando essa correção pra mim termina meu sisteminha de prova online.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra ae já é a logica do seu sys :thumbsup:

 

Tenta assim:

if($_POST) {
for($i = 1; $i <= 3; $i++){
 $respostas.$i = $_POST["respostas".$i.""];
 echo $respostas.$i." - ".$_POST["respostas".$i.""];
}
}

 

E as linhas que aponta os erros (14/13) é antes ou depois disso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu o mesmo erro. mas acho q o problema ta na sintaxe de concatenação mesmo:

 

eu fiz esse teste mais simples e mesmo assim da erro: :(

 

for($i = 1; $i <= 3; $i++)
{
$respostas.$i = "teste";
}

echo $respostas0;
echo $respostas1;
echo $respostas2;
echo $respostas3;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim amigo LenS

 

for($i = 0; $i <= 3; $i++)
{
$respostas = 'respostas'.$i;
$$respostas = 'teste<br />';
}

echo $respostas0;
echo $respostas1;
echo $respostas2;
echo $respostas3;

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew galera!! deu certo! :clap: mas eu juntei o código de vcs dois e fiz o resto que precisava! ficou assim:

 

<?php
include ("conectar.php");

$iddaprova = $_POST['prova'];

$consulta = "SELECT * FROM perguntas WHERE idprova = '$iddaprova' ";
$result = mysql_query ($consulta,$conexao);
$quantidade = mysql_num_rows($result);
$corretas = 0;

for($i = 1; $i <= $quantidade; $i++)
{
	$respostas = $_POST["respostas".$i.""];
	$linha = mysql_fetch_row($result);

	if ($respostas == $linha[8])
	{
		$corretas++;
	}

}
echo "Você acertou $corretas de $quantidade questões";

?>

 

 

Espero que este Post ajude mais amigos! precisando de alguma ajudinha é só falar!

 

Obrigado Pessoal! :joia:

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.