php session_start header Content-Type text html charset utf-8 if isset

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
session_start();
header('Content-Type: text/html;charset=utf-8');
if(!isset($_SESSION['test']) and !isset($_POST['q'])){
// Если первый запуск теста, то инициализируем переменные $q = 0; // Номер текущего вопроса
$title = 'Пройдите тест';
}else{
// Создаем сессионную переменную test, содержащую массив ответов
if($_POST['q'] != '1'){
$_SESSION['test'][] = $_POST['answer'];
}
$q = $_POST['q'];
$title = $_POST['title'];
}
?>
<h1><?= $title; ?></h1>
<?php
// В зависимости от номера вопроса, подключаем соответствующий файл с вопросами
switch($q){
case 0: include 'start.php'; break;
case 1: include 'q1.php'; break;
case 2: include 'q2.php'; break;
case 3: include 'q3.php'; break;
default: include 'result.php';
}
?>
<?php
$result = 0; // Переменная для суммы ответов
if(isset($_SESSION['test'])){
// Зачитываем ответы из ini-файла в массив
$answers = parse_ini_file("answers.ini");
// Проходим по ответам и смотрим, есть ли среди них правильные
foreach($_SESSION['test'] as $value){
if(array_key_exists($value, $answers)){
// Суммируем правильные ответы
$result += (int)$answers[$value];
}
}
// Очищаем данные сессии
session_destroy();
}
?>
<p>Ваш результат: <?= $result?> из 30</p>