<?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>
<?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>
';
}
}
}
?>
<?php
include 'conn.php';
if (isset($_POST['Submit'])){
if (isset($_POST['answer'])){
print_r($_POST);
}
}
?>
Флажок значения и скрытый ввод не отправляли никакого значения на странице Answer.php. Он не отправлял никаких ошибок или предупреждений. Значение 'Option_a' == 'Да' и 'question_id' == S1, S2, S3 и т. д.. У каждого 'question_id' есть свой вопрос, и пользователь должен отметить да. Поэтому я хочу отправить эти значения на другую страницу. Я надеюсь, что любой из вас сможет мне помочь.
Вы должны определить имя флажка и скрытого поля как Массив .. Потому что у него есть несколько флажков и скрытых полей.
Так что я должен сделать question_id [] вот так ...
Пожалуйста, покажите фактический HTML-код для формы, которую он создает. Здесь ни у кого нет доступной вашей базы данных, поэтому мы не можем правильно воспроизвести точный вывод вашего PHP-кода с самого начала.






Я могу понять, что вы на самом деле хотите сделать, но не уверен, чего вы на самом деле пытаетесь достичь, сохраняя параметры как name и 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];
}
}
}
?>
Надеюсь, это имеет смысл и поможет. :)
проверьте здесь для получения дополнительной информации о флажках.
снятые флажки не отправляются!