html form name = переменная php - PullRequest
       0

html form name = переменная php

0 голосов
/ 22 сентября 2011

У меня есть форма (в основном тест), которую пользователи должны заполнить. Вопрос № я получаю из таблицы MySQL, но не могу перенести номер вопроса в файл answer.php.

форма

$sql1="SELECT * FROM ex_question WHERE test_name = '$tid' ORDER BY RAND() LIMIT 5";
$result1=mysql_query($sql1);
while($row1 = mysql_fetch_array($result1))
{
    $test_name=$row1['test_name'];
    $q_nr=$row1['q_nr'];
    $q_type=$row1['q_type'];
    $question=$row1['question'];
    $option1=$row1['option1'];
    $option2=$row1['option2'];
    echo "<form method='post' action='answer.php'>";
    echo "<P><strong>$q_nr $question</strong><BR>";
    echo "<input type='radio' name='$q_nr' value='option1'>$option1<BR>";
    echo "<input type='radio' name='$q_nr' value='option2'>$option2<BR>";
    echo "<BR>";
    echo "<BR>";
    echo "</p>";
}
echo "<input type='submit' value='Send Form'>";
echo "</form>";
?>

answer.php

<?php
$q_nr = $_GET['q_nr'] ;
echo $q_nr;
?>

Ответы [ 3 ]

1 голос
/ 22 сентября 2011

Сначала ваш метод отправки формы - POST, а вы получаете в GET,

Во-вторых, это не сработает, чувак, вы создаете много форм в цикле. Это логическая проблема, выньте вашу FORM из цикла и сделайте elelent массив типа q_nr [] -------

0 голосов
/ 22 сентября 2011

Я предполагаю, что вы хотите получить все вопросы и отобразить их на одной странице, а затем отправить все ответы на answer.php? В этом случае вы могли бы:

$sql1="SELECT * FROM ex_question WHERE test_name = '$tid' ORDER BY RAND() LIMIT 5";
$result1=mysql_query($sql1);

echo "<form method='post' action='answer.php'>";

while($row1 = mysql_fetch_array($result1))
{
    $test_name=$row1['test_name'];
    $q_nr=$row1['q_nr'];
    $q_type=$row1['q_type'];
    $question=$row1['question'];
    $option1=$row1['option1'];
    $option2=$row1['option2'];

    echo "<P><strong>$q_nr $question</strong><BR>";
    echo "<input type='radio' name='question[$q_nr]' value='$option1'>$option1<BR>";
    echo "<input type='radio' name='question[$q_nr]' value='$option2'>$option2<BR>";
    echo "<BR>";
    echo "<BR>";
    echo "</p>";
}
echo "<input type='submit' value='Send Form'>";
echo "</form>";

И на answer.php:

//Key is $q_nr and $answer is selected $option
foreach($_POST['question'] as $key => $answer) {
    echo $key;
}
0 голосов
/ 22 сентября 2011

Если FORM METHOD равен POST, вы получаете параметры в суперглобальной переменной $ _POST:

 $q_nr = $_POST['q_nr'] ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...