<font size=4><i>вопрос № 3</i></font>
<b>Отметьте устройства ввода информации:</b><br>
<input type="checkbox" name="bcd[]" value="0"> Принтер
<input type="checkbox" name="bcd[]" value="1"> Сканер
<input type="checkbox" name="bcd[]" value="0"> Монитор
<input type="checkbox" name="bcd[]" value="1"> Клавиатура
<input type="checkbox" name="bcd[]" value="1"> Мышь
</pre>
не обрабатываются. мне нужно. чтобы в случае. если флажки не проствлены, выдавалось напоминание, а ели проставлены. то ставить количество верных ответов. Сделать это надо без использования MySQL
Спасибо
Спустя 48 минут, 57 секунд (15.11.2009 - 13:33) stepan написал(а):
это точто должно у тебя получится
делай это через массив типа
<font size=4><i>вопрос № 3</i></font>
<b>Отметьте устройства ввода информации:</b><br>
<input type="checkbox" name="bcd-1" value="0"> Принтер
<input type="checkbox" name="bcd-2" value="1"> Сканер
<input type="checkbox" name="bcd-3" value="0"> Монитор
<input type="checkbox" name="bcd-4" value="1"> Клавиатура
<input type="checkbox" name="bcd-5" value="1"> Мышь
</pre>
делай это через массив типа
for ( $i = 1; $f <= $t; $i ++ )
{
echo '<input type="checkbox" name="bcd-'.$i.'" value="'.$var.'">'.$name;
}
Спустя 1 час, 59 минут, 38 секунд (15.11.2009 - 15:33) ElfSam написал(а):
Не обрабатывается? Выложи код своего обработчика для начала.
Ну и name, как тебе уже подсказали, должны быть у каждого элемента свое
Ну и name, как тебе уже подсказали, должны быть у каждого элемента свое
Спустя 2 часа, 34 минуты, 21 секунда (15.11.2009 - 18:07) yagodova написал(а):
код HTML:
<font size=4><i>вопрос № 3</i></font>
<b>Отметьте устройства ввода информации:</b><br>
<input type="checkbox" name="bcd1" value=0> Принтер
<input type="checkbox" name="bcd2" value=1> Сканер
<input type="checkbox" name="bcd3" value=0> Монитор
<input type="checkbox" name="bcd4" value=1> Клавиатура
<input type="checkbox" name="bcd5" value=1> Мышь
а код обработчика взяла:
<?php
$j=0;
if ((!isset($bcd1))&&
(!isset($bcd2))&&(!isset($bcd3))&&(!isset($bcd4))&&(!isset($bcd5)))
echo "<b>отметьте флажки!</b>";
else{
if($bcd1 == "0") $j=$j+0;
if($bcd2 == "1") $j=$j+1;
if($bcd3 == "0") $j=$j+0;
if($bcd4 == "1") $j=$j+1;
if($bcd5 == "1") $j=$j+1;
echo "По вопросу № 3 у вас <b> $j</b> правильных ответов";
}
?>
Хотя работает, но мне кажется получилось слишком громоздко. так как только начинаю изучать PHP, то подскажите, как сократить запись?
<font size=4><i>вопрос № 3</i></font>
<b>Отметьте устройства ввода информации:</b><br>
<input type="checkbox" name="bcd1" value=0> Принтер
<input type="checkbox" name="bcd2" value=1> Сканер
<input type="checkbox" name="bcd3" value=0> Монитор
<input type="checkbox" name="bcd4" value=1> Клавиатура
<input type="checkbox" name="bcd5" value=1> Мышь
а код обработчика взяла:
<?php
$j=0;
if ((!isset($bcd1))&&
(!isset($bcd2))&&(!isset($bcd3))&&(!isset($bcd4))&&(!isset($bcd5)))
echo "<b>отметьте флажки!</b>";
else{
if($bcd1 == "0") $j=$j+0;
if($bcd2 == "1") $j=$j+1;
if($bcd3 == "0") $j=$j+0;
if($bcd4 == "1") $j=$j+1;
if($bcd5 == "1") $j=$j+1;
echo "По вопросу № 3 у вас <b> $j</b> правильных ответов";
}
?>
Хотя работает, но мне кажется получилось слишком громоздко. так как только начинаю изучать PHP, то подскажите, как сократить запись?
![unsure.gif](http://phpforum.ru/html/emoticons/unsure.gif)
Спустя 3 часа, 51 минута, 41 секунда (15.11.2009 - 21:59) sergeiss написал(а):
Забудь всё, что тебе уже сказали в этой теме, и сделай уникальные value, но оставь одно имя у чек-боксов.
Тогда ты сможешь пройти по массиву (взяв его из POST), и получить value тех чек-боксов, что были выбраны.
Второе. Ты подразумеваешь, что у тебя установлены глобальные переменные. Но это, скорее всего, не так
Поэтому твоя проверка if ((!isset($bcd1))&&... всегда выдаст "истина", т.к. эта переменная не установлена + отрицание.
Тогда ты сможешь пройти по массиву (взяв его из POST), и получить value тех чек-боксов, что были выбраны.
Второе. Ты подразумеваешь, что у тебя установлены глобальные переменные. Но это, скорее всего, не так
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 3 месяца, 10 дней, 11 часов, 44 минуты, 58 секунд (26.02.2010 - 09:44) Гость написал(а):
Воспользуйтусь готовым решением http://www.schoolnuke.ru/.
Спустя 10 часов, 57 минут, 19 секунд (26.02.2010 - 20:41) yagodova написал(а):
Спасибо всем за помощь. Всё получилось. Благодарю.
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)