2014-09-22 3 views
-1

Я делаю онлайн-тест aptitude для своей компании, который выберет 20 случайных вопросов из базы данных и отобразит их на веб-странице для ответа.Сохранение значений из кнопки ввода радио в базу данных SQL

Но у меня есть проблема в хранении ответил значения в базы данных SQL, пожалуйста, любой может помочь мне с этим вопросом,

<?php 


    $connect = mysql_connect("localhost","root","") 
    or die(mysql_error()); 
    $sel=mysql_select_db("aptitude"); 


$query = mysql_query("SELECT * FROM `questions` ORDER BY RAND() LIMIT 20 "); 

while($rows = mysql_fetch_array($query)){ 

    $q = $rows['QNo']; 
    $qus = $rows['Question']; 
    $a = $rows['Opt1']; 
    $b = $rows['Opt2']; 
    $c = $rows['Opt3']; 
    $d = $rows['Opt4']; 
    $ans = $rows['Ans']; 


    echo "<b>Question:-<br></b>$qus <br>"; 
    echo " <input type=radio name = 'answer[$q]' value = '$a'></input>$a &nbsp &nbsp"; 
    echo " <input type=radio name = 'answer[$q]' value = '$b'></input>$b &nbsp &nbsp"; 
    echo " <input type=radio name = 'answer[$q]' value = '$c'></input>$c &nbsp &nbsp "; 
    echo " <input type=radio name = 'answer[$q]' value = '$d'></input>$d <br><br> "; 


} 

?> 

, но я пытаюсь значения магазина после того, как пользователь нажимает на кнопку отправки: -

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

$username=$_GET['username']; 

$opt1=$_POST["answer1"]; 
$opt2=$_POST["answer2"]; 

mysql_query("insert into $username values('Q1','$answer1')") 
or die(mysql_error()); 
mysql_query("insert into $username values('Q2','$answer2')") 
or die(mysql_error()); 

} 
+0

, что массив вы получаете в $ _POST [ "ответ "], после отправки формы? – Khushboo

+0

см. Обновленный вопрос, ... –

ответ

1

При присвоении имени для ввода тега [type = 'radio'] ваше значение является «ответом [1]», а при отправке формы вы получаете значение $ _POST ['answer1']. Либо измените его при назначении значения для атрибута имени или изменить его при получении через POST переменные, а именно:

Либо

$_POST['answer[1]'] 

или

echo " <input type=radio name = 'answer$q' value = '$a'></input>$a &nbsp &nbsp"; 
+0

этот тоже не работает, ... –

+0

$ opt1 = $ _ POST ["answer [1]"]; $ Opt2 = $ _ POST [ "ответ [2]"]; , .... я использую вот так, это правильный способ получить значения, ... –

+0

У меня проблема с квадратными скобками, используемыми в значении атрибута имени. PHP преобразует этот символ в подчеркивание по умолчанию. Ниже приведена ссылка, которая поможет вам: [ссылка] (http://php.net/manual/en/language.variables.external.php) –

Смежные вопросы