Просмотр поста

.
ДоХтор
Добавлено: 24.02.2020 / 11:57
sl6972, ок, вечером допишу.

Добавлено: 24.02.2020 / 22:16
sl6972, создай папку img рядом с php-файлом (в котором этот код), и загрузи в неё свои три картинки. Названия этих картинок выбери таким образом, что бы они соответствовали своим страницам (что бы шли по порядку). Например icon-1.png, icon-2.png, и т.д. (можно вообще 1.png, 2.png, и т.д.).
code (+/-)
<?php

session_start();

$questionsFile = 'questions.txt'; // Файл с вопросами
$answersFile = 'answers.txt'; // Файл с ответами
$quantity = 4; // Количество вопросов на одну страницу

const IMG = 'img'; // Папка с картинками
const DS = DIRECTORY_SEPARATOR;

$flash = '';

if (! file_exists($questionsFile)) {
    die("<h4>Файл '$questionsFile' не найден!</h4>");
}

if (! empty($_SESSION['flash'])) {
    $flash = $_SESSION['flash'] . '<hr/>';
    unset($_SESSION['flash']);
}

$offset = $_SESSION['offset'] ?? 0;
$questions = file($questionsFile, FILE_SKIP_EMPTY_LINES|FILE_IGNORE_NEW_LINES);
$questions = array_slice($questions, $offset, $quantity);

if (! $questions) {
    $answers = file($answersFile, FILE_SKIP_EMPTY_LINES|FILE_IGNORE_NEW_LINES);
}

if (! empty($_POST)) {
    if (isset($_POST['submit'])) {
        file_put_contents($answersFile, false);
        $_SESSION['offset'] = 0;
    }

    if (isset($_POST['save'])) {
        $data = [];

        foreach ($_POST as $key => $item) {
            strpos($key, 'ch_') === false ?: $data[] = $item;
        }

        if (! empty($data)) {
            $data = join(PHP_EOL, $data);
            file_put_contents($answersFile, "$data\n", FILE_APPEND|LOCK_EX);

            $_SESSION['flash'] = '<p>Выбраны варианты:<br><b>' . nl2br($data) . '</b></p>';
            $_SESSION['offset'] += $quantity;
        }
    }

    header('Location: '. basename(__FILE__));
    die;
}

$images = glob(__DIR__ . DS . IMG  . DS . '*');
$key = $offset / $quantity;
$path = $images[$key] ?? '';
$image = IMG . DS . basename($path);

?>

<?= $flash ?>
<form method="post">
    <?php if (! empty($questions)) { ?>
        <?php if (file_exists($path)) { ?>
            <p><img src="<?= $image ?>" width="100" height="100" /></p>
        <?php } ?>
        <p><b>Выберите вариант</b></p>
        <p>
            <?php foreach ($questions as $i => $question) { ?>
                <input type="checkbox" name="ch_<?= $i ?>" value="<?= $question ?>" /><?= $question ?><br>
            <?php } ?>
        </p>
        <p><input type="submit" name="save" /></p>
    <?php } else { ?>
        <p><b>Результаты Ваших ответов</b></p>
        <ul>
            <?php foreach ($answers as $answer) { ?>
                <li><?= $answer ?></li>
            <?php } ?>
        </ul>
        <input type="submit" name="submit" value="Повторный тест" />
    <?php } ?>
</form>