<?php
session_start();
if (!isset($_SESSION['test']) and !isset($_POST['q'])) {
$q = 0; // номер текущего вопроса
$title = 'Testing';
} else {
// Создаем сессионную переменную test, содержащую массив ответов
if ($_POST['q'] != '1') { // если номер вопроса не один (если пришел не первый раз)
$_SESSION['test'][] = $_POST['answer']; // сессионная переменная 'test' - это массив, в который прилетают ответы пользователя
}
$q = $_POST['q']; // в переменную прилетает номер вопроса (<input type="hidden" name="q" ...>)
$title = $_POST['title']; // имя поля ввода в форме (<input type="hidden" name="title"...>)
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>English checker</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<section class="clearfix">
<h1>English checker</h1>
<h2><?=$title?></h2>
<?php
switch ($q) {
case '0': include 'start.php'; break;
case '1': include 'questions/q1.php'; break;
case '2': include 'questions/q2.php'; break;
case '3': include 'questions/q3.php'; break;
case '4': include 'questions/q4.php'; break;
case '5': include 'questions/q5.php'; break;
case '6': include 'questions/q6.php'; break;
case '7': include 'questions/q7.php'; break;
case '8': include 'questions/q8.php'; break;
case '9': include 'questions/q9.php'; break;
case '10': include 'questions/q10.php'; break;
case '11': include 'questions/q11.php'; break;
case '12': include 'questions/q12.php'; break;
case '13': include 'questions/q13.php'; break;
case '14': include 'questions/q14.php'; break;
case '15': include 'questions/q15.php'; break;
case '16': include 'questions/q16.php'; break;
case '17': include 'questions/q17.php'; break;
case '18': include 'questions/q18.php'; break;
case '19': include 'questions/q19.php'; break;
case '20': include 'questions/q20.php'; break;
default:
include 'result.php';
}
?>
<footer><p class="mp"><a href="index.php">Restart the test</a></p></footer>
</section>
</body>
</html>
$q = 0; // номер текущего вопроса
то еще нормально (хотя как правильное решение все равно не подходит), иначе думаем как будет работать при $q = 0;header($_SERVER['SERVER_PROTOCOL'].' 303 See other');
header('Location: '.($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);