Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как определить нажат ли чекбокс ?

Сообщения:  [1-8] 

 
 автор: Trianon   (16.05.2006 в 18:55)   письмо автору
 
   для: Fine   (16.05.2006 в 18:47)
 

>Я забыл раньще сказать, какраз юзер имеет право отметить
>только один из чекбоксов

Тогда, это, простите, совсем таки не чекбокс, а вовсе даже радиобаттон.

   
 
 автор: Trianon   (16.05.2006 в 18:53)   письмо автору
 
   для: XPraptor   (16.05.2006 в 18:44)
 

Еще удобнее передавать данные не в ключах, а в значениях элементов массива.

for($i=0; $i<5; $i++)
    print "<input type=checkbox name=c[] value=$i > тут текст $i<br>\r\n"; 

принимаем в скрипт отмеченные:

if(isset($_POST['c']) && !empty($_POST['c'])) 
    print 'Отмечены чекбоксы ' . implode(', ', $_POST['c']) ;
else 
    print "Ничего не отмечено!"; 

   
 
 автор: Fine   (16.05.2006 в 18:47)   письмо автору
 
   для: XPraptor   (16.05.2006 в 18:44)
 

Спасибо
Я забыл раньще сказать, какраз юзер имеет право отметить только один из чекбоксов

   
 
 автор: Trianon   (16.05.2006 в 18:46)   письмо автору
 
   для: Fine   (16.05.2006 в 18:37)
 


for($i = 0; $i < 5; $i++)
  if(isset($_POST['c'.$i]))
    echo "Checkbox c$i is checked<br>";

   
 
 автор: XPraptor   (16.05.2006 в 18:44)   письмо автору
 
   для: Fine   (16.05.2006 в 18:37)
 

Приблизительно.
Вообще возьмите на вооружение совет по чекам и оптион кнопкам - лучше всего их создавать массивами с одним именем, тогда обрабатывать легче.

Вы должны вывести на странице пять чеков одного имени

for($i=0; $i<5; $i++){
    print "<input type=\"checkbox\" name=\"c[" . $i . "]\" value=1> тут текст<br>\n";
}

принимаем в скрипт отмеченные:

if(isset($_POST["c"]) && !empty($_POST["c"]))
{
    foreach($_POST["c"] as $key=>$val){
        print "Отмечен чекбокс c" . $key . "<br>\n";
    }
}else{
    print "Ничего не отмечено!";
}

   
 
 автор: Fine   (16.05.2006 в 18:37)   письмо автору
 
   для: XPraptor   (16.05.2006 в 18:34)
 

Так ?
for ($i=1; $i<5; $i++)
if (isset($x.$i)) {
echo "x".$i." is checked"
}

   
 
 автор: XPraptor   (16.05.2006 в 18:34)   письмо автору
 
   для: fine   (16.05.2006 в 18:30)
 

Ну помимо имени при печати чеков добавьте им еще и свойство value=1.
Когда на другой странице будете принимать значения, то все отмеченные чеки будут isset() а не отмеченные просто не придут в скрипт.

   
 
 автор: fine   (16.05.2006 в 18:30)   письмо автору
 
 

Здравствуйте
При помощи цикла я на форме печатаю чекбоксы
<form action='pаge1.php' method=post>
<?
for ($i=1; $i<5; $i++)
echo "<input type='checkbox' name=c".$i." >"

echo "<input type='submit'>"
?>
</form>

Teпеть надо, чтобы как только узер нажал на кнопку, и открывлся новое окно pаge1.php, там определился какой из них нажат (вставлен птичку) и написал апример "c4 checked"

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования