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

.
ДоХтор
# sl6972 (23.02.2020 / 22:44)
Да


И если не трудно последняя просьба добавьте чтобы и картанки менялись, т.е. картинка в соотвествии с вопросом
Я не много переписал скрипт. Теперь он состоит из файла с вопросами questions.txt:
Примеры вопросов (+/-)
1. Первый
2. Второй
3. Третий
4. Четвёртый
5. Пятый
6. Шестой
7. Седьмой
8. Восьмой
9. Девятый
10. Десятый
11. Одиннадцатый
12. Двенадцатый
Файла, куда скрипт будет писать ответы answers.txt, и файла с php-кодом и html-формой:
code (+/-)
<?php

session_start();

$questionsFile = 'questions.txt'; // Файл с вопросами
$answersFile = 'answers.txt'; // Файл с ответами
$quantity = 4; // Количество вопросов на одну страницу
$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;
        }

        $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;
}

?>

<?= $flash ?>
<form method="post">
    <?php if (! empty($questions)) { ?>
        <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>
Текст вопросов будет меняться после каждого ввода (клик по кнопке), а по достижении конца - тест можно будет пройти повторно.

P.S.: Про картинки я не понял, что нужно.