Значения массива из формы - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть форма, которая содержит до 10 наборов переключателей. Переключатель дает ответ на вопрос. Все вопросы заполняются из базы данных, и по завершении база данных обновляется с помощью полей user_id, question_number & answer_value. Я использую массив, но, похоже, только одно answer_value передается процессору форм.

Это мой код

    <form action="new-answers.php" method="post" id="my_answer">    
    <div class="form-group">
    <label class="radio-inline"><input name="answer_value[]" type="radio" required="required" value="1">&nbsp;Totally false for me&nbsp;</label>
    <label class="radio-inline"><input name="answer_value[]" type="radio" required="required" value="2">&nbsp;Partially false for me&nbsp;</label>
    <label class="radio-inline"><input name="answer_value[]" type="radio" required="required" value="3">&nbsp;Indifferent/neutral&nbsp;</label>
    <label class="radio-inline"><input name="answer_value[]" type="radio" required="required" value="4">&nbsp;Partially true for me&nbsp;</label>
    <label class="radio-inline"><input name="answer_value[]" type="radio" required="required" value="5">&nbsp;Totally true for me&nbsp;</label>

Это то, что я использую на странице процессора форм

if (isset($_POST['submit'])) {
$i=0;

$user=$_POST['user_id'];
$question=$_POST['question_number'];
$answer = $_POST['answer_value']; 
// open the mysqli prepared statement globally
$stmt = $mysqli -> prepare('INSERT INTO answers (user_id,question_number,answer_value) VALUES (?, ?,?)');

function insertAnswer($user, $question, $answer) {
    global $stmt;

    // using prepared statement several times with different variables
    if (
        $stmt &&
        $stmt -> bind_param('iii', $user, $question,$answer) &&
        $stmt -> execute()
    ) {
        // new answers added
    }

}
}

Даже когда я пытаюсь просто повторить, используя

$answer = $_POST['answer_value'];

foreach($answer as $value) {
    echo $value.'<br />';
}

Я получаю только ответ.

...