<?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);
}
}
?>
Флажок value и скрытый ввод не отправили никакого значения на странице Answer.php. Он не отправил никаких ошибок или предупреждений. 'Option_a' == 'Да' значение и 'question_id' == S1, S2, S3 и так далее. Каждый вопрос "question_id" имеет свой собственный вопрос, и пользователь должен отмечать, если да. Поэтому я хочу отправить эти значения на другую страницу. Я надеюсь, что кто-нибудь из вас, ребята, может мне помочь.
Я могу понять, что вы на самом деле хотите сделать, но не знаете, чего вы на самом деле пытаетесь достичь, сохраняя параметры как имя и 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];
}
}
}
?>
Надеюсь, это имеет смысл и помогает. :)
здесь для получения дополнительной информации о флажках.