Форма PHP не отправляет значение $ _POST

0

Question.php

    <?php
include 'Pre-function.php'

?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="CSS/Start.css">
</head>
<body>

<div class="nav">
    <a href="Homepage.php">Home</a>
    <a href="#news">News</a>
    <a href="#contact">Contact</a>
</div> 

<div class="question"> 
    <div class="A4">
        <form action="Answer.php" method="POST">
        <?php getQuestion($conn);  ?>
        <input type="submit" name="Submit">

        </form>
    </div>
</div>
</body>
</html>

Pre-function.php

<?php
include 'conn.php';

function getQuestion($conn) {

    $query = "SELECT * FROM question ";
    $result = mysqli_query($conn, $query);

    if($result){

        while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
           $question_id = $row['question_id'];
           $question_body = $row['question_body'];
           $option_a = $row['option_a'];
           $option_b = $row['option_b'];

            echo '

                <h2 class="qtitle">'.$question_body.'</h2>
                <label 
                for='.$question_body.'>Yes</label>
                <input type="checkbox" name="'.$option_a.'" value="'.$option_a.'">
                <input type="hidden" name="'.$question_id.'" value="'.$question_id.'">
                <hr>

            ';  
            }

    }

}

?>

Answer.php

<?php
include 'conn.php';
if(isset($_POST['Submit'])){

  if(isset($_POST['answer'])){

      print_r($_POST);
}

}


?>

Флажок value и скрытый ввод не отправили никакого значения на странице Answer.php. Он не отправил никаких ошибок или предупреждений. 'Option_a' == 'Да' значение и 'question_id' == S1, S2, S3 и так далее. Каждый вопрос "question_id" имеет свой собственный вопрос, и пользователь должен отмечать, если да. Поэтому я хочу отправить эти значения на другую страницу. Я надеюсь, что кто-нибудь из вас, ребята, может мне помочь.

  • 0
    галочки не отмечены!
  • 0
    Вы должны определить имя флажка и скрытое поле как Массив. Потому что оно имеет несколько флажков и скрытых полей.
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ


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

Как бы я хотел это сделать, это сохранить question_id как имя для параметров, и я бы предложил использовать радиальные кнопки, если это вопрос "да" или "нет". В любом случае, чтобы решить вашу проблему, внесите следующие изменения в формат вопроса в pre-function.php

<?php
include 'conn.php';

function getQuestion($conn) {

    $query = "SELECT * FROM question ";
    $result = mysqli_query($conn, $query);

    if($result){

        while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
           $question_id = $row['question_id'];
           $question_body = $row['question_body'];
           $option_a = $row['option_a'];
           $option_b = $row['option_b'];

            echo '

                <h2 class="qtitle">'.$question_body.'</h2>
                <label>'.$question_body.'</label>
                <input type="checkbox" name="'.$question_id.'" value="'.$option_a.'">
                <input type="checkbox" name="'.$question_id.'" value="'.$option_b.'">
                <hr>

            ';  
            }
    }
}

?>

Теперь каждый вопрос, имеющий два варианта, будет иметь то же имя, что и вопрос и значения, как параметры. Теперь ваш Answer.php должен выглядеть так:

<?php
include 'conn.php';
if(isset($_POST['Submit'])){    // if submit is true

 // if you want to print all answers then loop through the question id
 // $_POST[$question_id] gives you the value of the answer 
 //i.e the option the user has chosen for that particular question

$query = "SELECT * FROM question ";
$result = mysqli_query($conn, $query);

if($result){

    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
       $question_id = $row['question_id'];
       echo $_POST[$question_id];
    }
}
}
?>

Надеюсь, это имеет смысл и помогает. :)

здесь для получения дополнительной информации о флажках.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню