После нажатия кнопки «Отправить» для проверки в php на WordPress результаты POST не отображаются - PullRequest
0 голосов
/ 22 января 2019

Я создал тест в php с вопросами, я добавил шорткод php code на страницу wordpress.Пользователь должен иметь возможность ответить на викторину в форме выбора переключателя.После того, как пользователь ответил на все вопросы, пользователь нажимает кнопку «ОТПРАВИТЬ», теперь пользователю должен быть показан его счет.Проблема в том, что пользователь не отображает код.

Тот же самый php-код, когда я выполняю на локальном php-сервере, который я настроил, он отлично работает и дает оценку.Чего мне здесь не хватает?

if (isset($_POST['answers']) && !empty($_POST['answers'])){
    $Answers = $_POST['answers']; // Get submitted answers.;
    header('location: ' . $_SERVER['PHP_SELF']);
    if ($Answers == 'NULL'){
            echo "please select all the answers";
    }
    else
    {
    foreach ($Questions as $QuestionNo => $Value){`enter code here`
        if (!isset($Answers[$QuestionNo])) {
            echo "answer all questions";
            break;

 ?>
    <form action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
    <?php foreach ($Questions as $QuestionNo => $Value){ ?>

        <h3><?php echo $Value['Question']; ?></h3>
        <?php
            foreach ($Value['Answers'] as $Letter => $Answer){
            $Label = 'question-'.$QuestionNo.'-answers-'.$Letter;
        ?>
        <div>
            <input type="radio" name="answers[<?php echo 
 $QuestionNo; ?>]" id="<?php echo $Label; ?>" value="<?php echo 
 $Answer; ?>" />
            <label for="<?php echo $Label; ?>"><?php echo $Letter; ? 
 >) <?php echo $Answer; ?> </label>
     </div>
        <?php } ?>

    <?php } ?>
            <br />
            <div>
            <input style="font-size:25px;color:white;background- 
  color:orange;border:2px solid #336600;padding:3px;" type="submit" 
  value="Submit Quiz" />
    </div>
    </form>
<?php

Ожидаемый результат заключается в том, что после того, как пользователь ответит на все вопросы викторины и нажмет кнопку ОТПРАВИТЬ, вывод результатов должен отображаться.Вывод не отображается, вместо этого страница направляется на домашнюю страницу веб-сайта.

1 Ответ

0 голосов
/ 22 января 2019

Я не уверен, почему это там, но я бы попытался удалить приведенный ниже код.Вы хотите показать ответы, но вместо этого вы перенаправляете пользователя на страницу.

header('location: ' . $_SERVER['PHP_SELF']);
...