Не проходит проверка правильности ответа. Так ещё и ошибку сессии выдаёт!

104
25 июня 2022, 14:50

Первый файл

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Решение примеров</title>
    </head>
    <body>
        <?php
            require "z.php";  
            echo $a . " " . "+" . " " . $b . " " . "=" . " ";
            echo $c;
        ?>
        <form name="name" action="" method="post">
            <input type="text" placeholder="Ответ" name="answer">
            <input type="submit" value="Ответить" name="s">
        </form>
    </body>        
</html>   

Второй файл

<?php
    session_start();
    
    // выбрать старое значение суммы $a+$b
    $old_answer = isset($_SESSION['old']) ? $_SESSION['old'] : 0;
                
    print_r($_POST);
                
    $a = rand(100, 999);
    $b = rand(100, 999);
    $c = $a + $b;
                
    // записать новое значение суммы $a+$b
    $_SESSION['old'] = $c;
                      
    $answer = trim($_POST["answer"]);
               
    if ($answer == "") {
        echo "";
    }else{
    if($answer == $old_answer) {
        echo "Верно";
    }else {
        echo "Неверно";
        }
    }  
?>
Answer 1

Не ясно где именно у вас ошибки. Вы код ошибок и строки их приведите. Ваш код можно улучшить: $old_answer = $_SESSION['old'] ?? 0;. В переменных $a и $b нет необходимости, так как вы их не используете: $_SESSION['old'] = rand(100, 999) + rand(100, 999);. Проверять на наличие значения в $_POST надо в начале, а не в конце скрипта. Поэтому добавьте:

$postData = $_POST;
if (empty($postData)) {
    die('Данные формы не были переданы')
}

Условия в конце можно изменить так:

if (empty($answer)) ...
elseif ($answer === $old_answer) ...
else ...

Используйте camelCase для переменных - это сейчас как общепринятое правило.

READ ALSO
Call to a member function fetch() on array

Call to a member function fetch() on array

Я новичок, подскажите пожайлуйста - в чем тут ошибка?

158
Ошибка при запросе API Kuna

Ошибка при запросе API Kuna

Не получается выполнить запрос, выдает ошибку {"messages":["the_tonce_is_invalid"]}

204
Неоднократное выполнение кода

Неоднократное выполнение кода

Благодарю за вниманиеВопрос, собственно говоря, заключается вот в чем

210
Разработать класс Товар

Разработать класс Товар

Нужно создать класс Товар: название, цена, поставщикОт него 2 наследуемых класса: цифровой товар (добавляется поле емкость в мб) и печатный...

95