Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
9 / 9 / 2
Регистрация: 23.03.2013
Сообщений: 115
1

Сохраняет состояние не всех чекбоксов

07.05.2015, 18:51. Показов 532. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть 2 столпца по 13 чекбоксов. сделал чтоб при отправке формы сохранялось их состояние (отмечен/не отмечен). 10 первых сохраняет отлично, на 11 и далее какаято непонятная мне магия. хоть логика на всех одинаковая.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?
$hcoin='';
$hbolt='';
$hplank='';
$htape='';
$hnail='';
$hscrew='';
$hpanel='';
$hdeed='';
$hmallet='';
$hmarker='';
$haxe='';
$hsaw='';
$hmappiece='';
 
$ncoin='';
$nbolt='';
$nplank='';
$ntape='';
$nnail='';
$nscrew='';
$npanel='';
$ndeed='';
$nmallet='';
$nmarker='';
$naxe='';
$nsaw='';
$nmappiece='';
 
 
if(isset($_POST['have'])){
    for($i=0;$i<>count($_POST['have']);++$i){   
        if($_POST['have'][$i]=='Деньги'){$hcoin='checked';}
        if($_POST['have'][$i]=='Болт'){$hbolt='checked';}
        if($_POST['have'][$i]=='Доска'){$hplank='checked';}
        if($_POST['have'][$i]=='Клейкая лента'){$htape='checked';}
        if($_POST['have'][$i]=='Гвозди'){$hnail='checked';}
        if($_POST['have'][$i]=='Шуруп'){$hscrew='checked';}
        if($_POST['have'][$i]=='Деревянная панель'){$hpanel='checked';}
        if($_POST['have'][$i]=='Купчая на землю'){$hdeed='checked';}
        if($_POST['have'][$i]=='Молот'){$hmallet='checked';}
        if($_POST['have'][$i]=='Колышек'){$hmarker='checked';}
        if($_POST['have'][$i]=='Кусок карты'){$hmappiece='checked';}
        if($_POST['have'][$i]=='Топор'){$haxe='checked';}
        if($_POST['have'][$i]=='Пила'){$hsaw='checked';}
    }
}
 
 
if(isset($_POST['need'])){
    for($j=0;$j<>count($_POST['need']);++$j){
        if($_POST['need'][$j]=='Деньги'){$ncoin='checked';}
        if($_POST['need'][$j]=='Болт'){$nbolt='checked';}
        if($_POST['need'][$j]=='Доска'){$nplank='checked';}
        if($_POST['need'][$j]=='Клейкая лента'){$ntape='checked';}
        if($_POST['need'][$j]=='Гвозди'){$nnail='checked';}
        if($_POST['need'][$j]=='Шуруп'){$nscrew='checked';}
        if($_POST['need'][$j]=='Деревянная панель'){$npanel='checked';}
        if($_POST['need'][$j]=='Купчая на землю'){$ndeed='checked';}
        if($_POST['need'][$j]=='Молот'){$nmallet='checked';}
        if($_POST['need'][$j]=='Колышек'){$nmarker='checked';}
        if($_POST['have'][$j]=='Кусок карты'){$nmappiece='checked';}
        if($_POST['have'][$j]=='Топор'){$naxe='checked';}
        if($_POST['have'][$j]=='Пила'){$nsaw='checked';}
    }
}
 
 
echo'<form action="test.php" method="post">
<table><tr><td><div class=err>Отдам&uarr;</div></td><td><div class=ok>Хочу в замен&darr;</div></td></tr>
<tr><td><input type=checkbox name="have[]" value="Деньги" ',$hcoin,'>Деньги</td>
<td><input type=checkbox name="need[]" value="Деньги" ',$ncoin,'>Деньги</td></tr>
<tr><td><input type=checkbox name="have[]" value="Болт" ',$hbolt,'>Болт</td>
<td><input type=checkbox name="need[]" value="Болт" ',$nbolt,'>Болт</td></tr>
<tr><td><input type=checkbox name="have[]" value="Доска" ',$hplank,'>Доска</td>
<td><input type=checkbox name="need[]" value="Доска" ',$nplank,'>Доска</td></tr>
<tr><td><input type=checkbox name="have[]" value="Клейкая лента" ',$htape,'>Клейкая лента</td>
<td><input type=checkbox name="need[]" value="Клейкая лента ',$ntape,'">Клейкая лента</td></tr>
<tr><td><input type=checkbox name="have[]" value="Гвозди" ',$hnail,'>Гвозди</td>
<td><input type=checkbox name="need[]" value="Гвозди" ',$nnail,'>Гвозди</td></tr>
<tr><td><input type=checkbox name="have[]" value="Шуруп" ',$hscrew,'>Шуруп</td>
<td><input type=checkbox name="need[]" value="Шуруп" ',$nscrew,'>Шуруп</td></tr>
<tr><td><input type=checkbox name="have[]" value="Деревянная панель" ',$hpanel,'>Деревянная панель</td>
<td><input type=checkbox name="need[]" value="Деревянная панель" ',$npanel,'>Деревянная панель</td></tr>
 
<tr><td><input type=checkbox name="have[]" value="Купчая на землю" ',$hdeed,'>Купчая на землю</td>
<td><input type=checkbox name="need[]" value="Купчая на землю" ',$ndeed,'>Купчая на землю</td></tr>
<tr><td><input type=checkbox name="have[]" value="Молот" ',$hmallet,'>Молот</td>
<td><input type=checkbox name="need[]" value="Молот" ',$nmallet,'>Молот</td></tr>
<tr><td><input type=checkbox name="have[]" value="Колышек" ',$hmarker,'>Колышек</td>
<td><input type=checkbox name="need[]" value="Колышек" ',$nmarker,'>Колышек</td></tr>
<tr><td><input type=checkbox name="have[]" value="Кусок карты" ',$hmappiece,'>Кусок карты</td>
<td><input type=checkbox name="need[]" value="Кусок карты" ',$nmappiece,'>Кусок карты</td></tr>
<tr><td><input type=checkbox name="have[]" value="Топор" ',$haxe,'>Топор</td>
<td><input type=checkbox name="need[]" value="Топор" ',$naxe,'>Топор</td></tr>
<tr><td><input type=checkbox name="have[]" value="Пила" ',$hsaw,'>Пила</td>
<td><input type=checkbox name="need[]" value="Пила" ',$nsaw,'>Пила</td></tr>
 
<tr><td colspan=2><input type="submit" name=ob_add value="Опубликовать"></td></tr>
</table>
</form>
';   
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2015, 18:51
Ответы с готовыми решениями:

Прочитать состояние и описания чекбоксов
Имеется защищенная книга. На первом листе есть некое количество чекбоксов. В некоторых стоят...

SWF: SharedObject не сохраняет состояние
Друзья! Помогите, пожалуйста, справиться с проблемой! Сделал мобильное приложение для нескольких...

Спящий режим долго сохраняет состояние компьютера
проблемы со спящим режимом, слишком долго сохраняет состояние компьютера а после как полоса...

Почему сформированный текстовый документ не сохраняет свое состояние
почему сформированный текстовый документ не сохраняет свое состояние после того как я его отправил...

2
14 / 14 / 8
Регистрация: 26.06.2013
Сообщений: 60
07.05.2015, 19:30 2
Извините, может я что-то не совсем понимаю, а в чём смысл такого цикла
PHP
1
for($i=0;$i<>count($_POST['have']);++$i)
Именно логическая часть.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.05.2015, 19:32 3
Цитата Сообщение от KENTua Посмотреть сообщение
if(isset($_POST['need'])){
* * for($j=0;$j<>count($_POST['need']);++$j){
* * * * if($_POST['need'][$j]=='Деньги'){$ncoin='checked';}
* * * * if($_POST['need'][$j]=='Болт'){$nbolt='checked';}
* * * * if($_POST['need'][$j]=='Доска'){$nplank='checked';}
* * * * if($_POST['need'][$j]=='Клейкая лента'){$ntape='checked';}
* * * * if($_POST['need'][$j]=='Гвозди'){$nnail='checked';}
* * * * if($_POST['need'][$j]=='Шуруп'){$nscrew='checked';}
* * * * if($_POST['need'][$j]=='Деревянная панель'){$npanel='checked';}
* * * * if($_POST['need'][$j]=='Купчая на землю'){$ndeed='checked';}
* * * * if($_POST['need'][$j]=='Молот'){$nmallet='checked';}
* * * * if($_POST['need'][$j]=='Колышек'){$nmarker='checked';}
* * * * if($_POST['have'][$j]=='Кусок карты'){$nmappiece='checked';}
* * * * if($_POST['have'][$j]=='Топор'){$naxe='checked';}
* * * * if($_POST['have'][$j]=='Пила'){$nsaw='checked';}
* * }
}
Видимо последние 3 строки вместо have Должно стоять Need...

Добавлено через 1 минуту
Цитата Сообщение от Codey Посмотреть сообщение
Извините, может я что-то не совсем понимаю, а в чём смысл такого цикла
PHP
1
for($i=0;$i<>count($_POST['have']);++$i)
Простой цикл, в котором $i будет меняться от 0 до n-1, где n - количество элементов массива $_POST['have']. Просто запись какая то не традиционная...
2
07.05.2015, 19:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2015, 19:32
Помогаю со студенческими работами здесь

Выделение всех чекбоксов
есть код к чекбоксам $(document).ready( function() { // По клику на чекбокс в верхней панели...

Активация всех чекбоксов по одному
Здарова. Имеется таблица, первый тег &lt;tr&gt; - типа заголовка, в котором содержится главный чекбокс....

Выделение всех чекбоксов + onClick
У меня такая проблема: есть 3 элемента checkbox, которые при нажатии на каждый из них onClick,...

Выделение всех чекбоксов одним
Привет. Имеется список объявлений, рядом с каждым стоит чекбокс с помощью которого можно отметить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru