rededesignbh Postado Março 31, 2011 Denunciar Share Postado Março 31, 2011 (editado) Olá Galera do Script Brasil!Estou precisando de uma ajuda...fiz um teste online ou seja um questionario até aii normal, mas não entendo muito de PHP.criei a base agora preciso codigo que calcule a soma das respotas.se a pessoa escolher uma certa quantidade de alternativa o resultado muda, quase com uma soma de pontos, mas com TXT Bom,regular,RUIMObrigado a todos!EXEMPLO:A=BOMB=REGULARC=RUIM<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <table border="0" align="center" width="96%"> <tr> <td valign="top"> <p align="center"> </p> <p align="center" class="titulo verde2">Como está a sua alimentação? Faça o teste e descubra!</p> <p align="center"> </p> <form name="form1" method="post" action="form.php"> <input type="hidden" name="acao" value="verifica"> <table border="0"> <td width="20"> <tr> <td colspan="2">Quantos copos de água você consome por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkA" value="A"> </label></td> <td width="489">a) Três ou menos.</td> </tr> <tr> <td><label> <input type="radio" name="checkA" value="B"> </label></td> <td>B) Entre quatro e seis.</td> </tr> <tr> <td><label> <input type="radio" name="checkA" value="C"> </label></td> <td>c) Mais de seis.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">O que você costuma tomar durante as refeições?</td> </tr> <tr> <td><label> <input type="radio" name="checkB" value="A"> </label></td> <td>a) Refrigerante.</td> </tr> <tr> <td><label> <input type="radio" name="checkB" value="B"> </label></td> <td>B) Suco.</td> </tr> <tr> <td><label> <input type="radio" name="checkB" value="C"> </label></td> <td>c) Água ou nada.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Você tem o hábito de tomar café ou chá depois das refeições?</td> </tr> <tr> <td><label> <input type="radio" name="checkC" value="A"> </label></td> <td>a) Todos os dias.</td> </tr> <tr> <td><label> <input type="radio" name="checkC" value="B"> </label></td> <td>B) Às vezes.</td> </tr> <tr> <td><label> <input type="radio" name="checkC" value="C"> </label></td> <td>c) Nunca.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantas vezes por semana você consome frituras?</td> </tr> <tr> <td><label> <input type="radio" name="checkD" value="A"> </label></td> <td>a) Todos os dias.</td> </tr> <tr> <td><label> <input type="radio" name="checkD" value="B"> </label></td> <td>B) Uma vez por semana.</td> </tr> <tr> <td><label> <input type="radio" name="checkD" value="C"> </label></td> <td>c) Raramente.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantas refeições você faz por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkE" value="A"> </label></td> <td>a) Uma ou duas.</td> </tr> <tr> <td><label> <input type="radio" name="checkE" value="B"> </label></td> <td>B) Três ou quatro.</td> </tr> <tr> <td><label> <input type="radio" name="checkE" value="C"> </label></td> <td>c) Cinco ou mais.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantas frutas você consome por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkF" value="A"> </label></td> <td>a) Zero a duas.</td> </tr> <tr> <td><label> <input type="radio" name="checkF" value="B"> </label></td> <td>B) Três a quatro.</td> </tr> <tr> <td><label> <input type="radio" name="checkF" value="C"> </label></td> <td>c) Cinco ou mais.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantas porções de leite você consome por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkG" value="A"> </label></td> <td>a) Uma ou nenhuma.</td> </tr> <tr> <td><label> <input type="radio" name="checkG" value="B"> </label></td> <td>B) Mais de cinco.</td> </tr> <tr> <td><label> <input type="radio" name="checkG" value="C"> </label></td> <td>c) Duas a três.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantas cores diferentes de salada você consome por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkH" value="A"> </label></td> <td>a) Duas ou nenhuma.</td> </tr> <tr> <td><label> <input type="radio" name="checkH" value="B"> </label></td> <td>B) Três.</td> </tr> <tr> <td><label> <input type="radio" name="checkH" value="C"> </label></td> <td>c) Quatro ou mais.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Você consome peixe com que frequência?</td> </tr> <tr> <td><label> <input type="radio" name="checkI" value="A"> </label></td> <td>a) Uma vez por mês ou menos.</td> </tr> <tr> <td><label> <input type="radio" name="checkI" value="B"> </label></td> <td>B) Mais de uma vez por mês.</td> </tr> <tr> <td><label> <input type="radio" name="checkI" value="C"> </label></td> <td>c) Uma vez por semana ou mais.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantas vezes você come doce por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkJ" value="A"> </label></td> <td>a) Três ou mais.</td> </tr> <tr> <td><label> <input type="radio" name="checkJ" value="B"> </label></td> <td>B) Uma ou duas.</td> </tr> <tr> <td><label> <input type="radio" name="checkJ" value="C"> </label></td> <td>c) Nenhuma ou uma.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quantos cafés você toma por dia?</td> </tr> <tr> <td><label> <input type="radio" name="checkK" value="A"> </label></td> <td>a) Três ou mais.</td> </tr> <tr> <td><label> <input type="radio" name="checkK" value="B"> </label></td> <td>B) Um ou dois.</td> </tr> <tr> <td><label> <input type="radio" name="checkK" value="C"> </label></td> <td>c) Nenhum.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Quais desses pratos você escolheria para o seu almoço?</td> </tr> <tr> <td><label> <input type="radio" name="checkL" value="A"> </label></td> <td>a) Pizza.</td> </tr> <tr> <td><label> <input type="radio" name="checkL" value="B"> </label></td> <td>B) Arroz, bife grelhado e batata frita.</td> </tr> <tr> <td><label> <input type="radio" name="checkL" value="C"> </label></td> <td>c) Salada de alface e cenoura, bife de frango e arroz.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Você costuma ler o rótulo dos alimentos?</td> </tr> <tr> <td><label> <input type="radio" name="checkM" value="A"> </label></td> <td>a) Nunca.</td> </tr> <tr> <td><label> <input type="radio" name="checkM" value="B"> </label></td> <td>B) Às vezes.</td> </tr> <tr> <td><label> <input type="radio" name="checkM" value="C"> </label></td> <td>c) Com frequência.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Com que frequência você consome frutas oleaginosas (castanhas, nozes, amêndoas)?</td> </tr> <tr> <td><label> <input type="radio" name="checkN" value="A"> </label></td> <td>a) Nunca.</td> </tr> <tr> <td><label> <input type="radio" name="checkN" value="B"> </label></td> <td>B) Às vezes.</td> </tr> <tr> <td><label> <input type="radio" name="checkN" value="C"> </label></td> <td>c) Com frequência.</td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2">Com que frequência você consome farinha branca?</td> </tr> <tr> <td><label> <input type="radio" name="checkO" value="A"> </label></td> <td>a) Todos os dias.</td> </tr> <tr> <td><label> <input type="radio" name="checkO" value="B"> </label></td> <td>B) Às vezes.</td> </tr> <tr> <td><label> <input type="radio" name="checkO" value="C"> </label></td> <td>c) Eventualmente ou nunca.</td> </tr> <tr> <td colspan="2"> <p align="center"> <input type="submit" name="verificar" value="Verificar"> </p> </td> </tr> </table> </form> <p> </p> <p align="center"> </p> <?php $pontos = array('A' => 0, 'B' => 0, 'C' => 0); //pontos separados $erro = 0; //variavel que armazenará quantas vezes o input não corresponde à procura foreach ($_POST as $chave => $valor) { if (preg_match('/^check[A-Z]{1,2}/', $chave)) {//verifica se o POST do loop possui nome seguindo o padrão if ($valor == 'A') { ++$pontos['A']; } elseif ($valor == 'B') { ++$pontos['B']; } elseif ($valor == 'C') { ++$pontos['C']; } else { ++$erro; } } } echo array_shift(rsort($pontos, SORT_NUMERIC)); //exibe a pontuação final do usuário ?> </td> </tr> </table> </body> </html>Warning: array_shift() expects parameter 1 to be array, boolean given in C:\wamp\www\tim\form.php on line 412 Call Stack # Time Memory Function Location 1 0.0022 381536 {main}( ) ..\form.php:0 2 0.0023 382248 array_shift ( ) ..\form.php:412 aonde ta o erro? Editado Abril 1, 2011 por rededesignbh Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GtOkAi Postado Março 31, 2011 Denunciar Share Postado Março 31, 2011 use o $_POST['value'] para pegar o valor, depois com IFs, você calcula o valor, é o jeito mais fácil, exemploif($_POST['checkO'] == "A") {$var++;}Bom, vejo esse o jeito mais fácil, vai deixar o código um pouco grande mas não tem erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rededesignbh
Olá Galera do Script Brasil!
Estou precisando de uma ajuda...
fiz um teste online ou seja um questionario até aii normal, mas não entendo muito de PHP.
criei a base agora preciso codigo que calcule a soma das respotas.
se a pessoa escolher uma certa quantidade de alternativa o resultado muda, quase com uma soma de pontos, mas com TXT Bom,regular,RUIM
Obrigado a todos!
EXEMPLO:
A=BOM
B=REGULAR
C=RUIM
Warning: array_shift() expects parameter 1 to be array, boolean given in C:\wamp\www\tim\form.php on line 412
Call Stack
# Time Memory Function Location
1 0.0022 381536 {main}( ) ..\form.php:0
2 0.0023 382248 array_shift ( ) ..\form.php:412
aonde ta o erro?
Editado por rededesignbhLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.