Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: что возвращает radio?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
haveFun
Отправлено: 30 Октября, 2010 - 17:01:39
Post Id



Гость


Покинул форум
Сообщений всего: 102
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




ситуация такова: форма отправляет текст (несколько вопросов), и 4 варианта ответа на каждый вопрос. нужно выбрать верный вариант и на странице обработки определить какой из вариантов был правильным.

index1.php
PHP:
скопировать код в буфер обмена
  1.  
  2. echo '<form action="index2.php?st=6&lib=1" method="post">';
  3. echo '<table><tr><td><b>'.$tt.' Подглава. '.$r['cont'].'</b></td></tr>';
  4. for ( $i = 1; $i <= $r['who4']; $i++ ) // ВОПРОСЫ
  5. {
  6.         echo '<tr><td><br><textarea name="qtext['.$i.']" cols="80" rows="3">Введите вопрос</textarea>
  7.                 <br>Отметьте правильный варианта ответа</td></tr>';
  8.         for ( $j = 1; $j <= 4; $j++ ) // ОТВЕТЫ И РАДИО
  9.         {
  10.                 echo '<tr><td><input type="text" name="zar['.$i.']['.$j.']">
  11.                   <input type="radio" name="ans['.$i.']" value="'.$j.'"></td></tr>';
  12.         }
  13. }
  14. echo '<tr><td colspan="4" align="right"><br>
  15.         <input type="hidden" name="podgl" value="'.$r['who2'].'">
  16.         <input type="hidden" name="kolvop" value="'.$r['who4'].'">
  17.         <input type="hidden" name="kolvom" value="'.$r['res3'].'">
  18.         <input type="submit" value="     Далее >     " style="width: 100px;">
  19.         </td></tr></table></center></form>';
  20. echo '</form>';
  21.  


и index2.php соответственно:
PHP:
скопировать код в буфер обмена
  1.  
  2. for ( $i = 1; $i <= $pprr ; $i++ ) //ВОПРОС
  3. {
  4.         $vop = $_POST['qtext'][$i];
  5.         mysql_query("INSERT INTO `$gh`.`$ddbb` VALUES ('NULL','".$vop."','1','".$i."','','')");
  6.         for ( $j = 1; $j <= 4; $j++ ) // ОТВЕТ
  7.         {
  8.                 $otv = $_POST['zar'][$i][$j];
  9.                 $one = 2;
  10.                 if (!empty($_POST['ans'][$i])) $one = 3;
  11.                 mysql_query("INSERT INTO `$gh`.`$ddbb` VALUES ('NULL','$otv','$one','$i','','')");
  12.         }
  13. }
  14.  

если текущий ответ на вопрос верный - в базу запишется 3, если неверный, то 2.
у каждого варианта свой value, но как вытянуть его - ума не приложу + нигде где читал не написано.

данная проверка if (!empty($_POST['ans'][$i])) как показывает практика, тупо проверяет группу на чекед, а мне нужно что бы проверялась не группа, а сам элемент radio. как это реализовать?

(Отредактировано автором: 30 Октября, 2010 - 17:05:25)

 
 Top
Uchkuma
Отправлено: 30 Октября, 2010 - 17:33:16
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Если честно, мне не понятно, что вам не понятно Однако

ans - это у вас массив ответов, каждый элемент которого, является номером ответа на соответствующий порядковому номеру вопрос. Соответственно $_POST['ans'][$i] содержит ответ на вопрос номер $i. Все понятно, вроде. Тут и цикл-то никакой не нужен.
 
 Top
haveFun
Отправлено: 30 Октября, 2010 - 17:56:09
Post Id



Гость


Покинул форум
Сообщений всего: 102
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




оо спасибо! нужно было сравнивать вот так
if ($_POST['ans'][$i]== $j) $one = 3;
Хорошо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB