@kamisarlapsha

Как отправить данные с разных страниц на сервер?

Всем привет. Есть тест с вариантами ответа, каждый вопрос на отдельной странице. За каждый правильный ответ даётся 2 балла. Всё это реализовано через $_POST. После каждого ответа обновляется форма, и идет подсчёт баллов. Как это исправить, чтобы результаты ответов отправлялись последовательно, и только в конце выводились баллы за тест.

Сами вопросы:
<form class="answers" method="post" action="result.php">
	<a id="1" class="answer wrong" href="#1">Ферменты</a>
	<a id="2" class="answer correct" href="#1">Витамины</a>
	<a id="3" class="answer wrong" href="#1">Микроэлементы</a>
	<a id="4" class="answer wrong" href="#1">Гормоны</a>
	<input type="hidden" name="score1">
	</form>

Алгоритм подсчёта баллов:
$ot = 0; //Первоначальное число баллов
$one = 1; //Будет прибавляться, если человек использовал подсказку
$two = 2; //Будет прибавляться, если человек не использовал подсказку
if ($_POST[score1] == 2){$ot += 2;} else {$ot += 1;} //Баллы за первый вопрос
if ($_POST[score2] == 2){$ot += 2;} else {$ot += 1;} //Баллы за второй вопрос
?>

Вот такой js:
$('.correct').click(function(){
  if ( $(".answers").hasClass("del-answers") ) {
    $('input').val(1)
  } else {
    $('input').val(2)
  }
  $('.correct-modal').toggleClass('open');
  return false;
})

$('.go').click(function(){
  $('form').submit();
  return false;
})

Сам тест:
w92821ho.bget.ru
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
$_SESSION
и если
После каждого ответа обновляется форма, и идет подсчёт баллов. Как это исправить...
имеется в виду не перезагружать страницу то еще ajax

PS:
Алгоритм подсчёта баллов: (кривой как куст ракиты над рекой)
if(isStart())$_SESSION['total'] = 0; //Если первая страница теста пишем 0 в сессию
if ($_POST['score1'] == 2){$_SESSION['total'] += 2;} else {$_SESSION['total'] += 1;} //Баллы за первый вопрос
if ($_POST[score2] == 2){$_SESSION['total'] += 2;} else {$_SESSION['total'] += 1;} //Баллы за второй вопрос
?>

С таким алгоритмом я конечно всегда буду 100% набирать, а так же по сырцу знать все ответы )))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы