Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
huntry
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
1

Изменить значение чекбокс

28.01.2016, 21:59. Просмотров 470. Ответов 8
Метки нет (Все метки)

Здравствуйте.
Есть форма добавления данных в базу. В этой форме есть 3 чекбоксова:

HTML5
1
2
3
<input name="abc_1" type="checkbox" value="1">
<input name="abc_2" type="checkbox" value="1">
<input name="abc_3" type="checkbox" value="1">
Они передаются в базу если были отмечены. Если нет, то в базе ставится автоматически NULL значение.

На странице редактирования выводятся эти же чекбоксы через условие:
PHP
1
2
3
4
5
if($abc_1 == "1") {
<input name="abc_1" type="checkbox" value="1" [B]checked[/B]>
} else {
<input name="abc_1" type="checkbox" value="1">
}
Вот если человек убрал галочку и решил сохранить, то ничего не работает. Т.к. value=1. А мне уже надо передать 0, если галочка была снята.

Вот как решить эту проблему - понять не могу.

Прошу сильно не ругаться, если что.. Только начинаю изучать

Спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2016, 21:59
Ответы с готовыми решениями:

изменить значение переменной
Есть file.php, в нем есть переменная $kku = &quot;156666&quot;; Есть страница,...

Изменить значение (cron)
Вобщем нужно чтобы в таблице значение us_online в user поменялось на 1 и сразу...

Изменить значение переменной
Помогите пожалуйста. Как сделать так чтобы значение переменной менялось....

Изменить значение переменной?
Вот есть у меня страничка index.php там есть вот такой код: PHP код: ...

Надо изменить значение max_input_vars
Использую Ореnserver У меня проблема с шаблоном притом такого вида...

8
Пифагор
Модератор
1221 / 1011 / 529
Регистрация: 10.01.2015
Сообщений: 3,399
28.01.2016, 23:23 2
если я правильно понял, надо так:
HTML5
1
2
3
<input name="abc_1" type="checkbox" <?if isset($abc_1)?print 'value="1" checked':print 'value="0"';?>>
<input name="abc_2" type="checkbox" <?if isset($abc_2)?print 'value="1" checked':print 'value="0"';?>>
<input name="abc_3" type="checkbox" <?if isset($abc_2)?print 'value="1" checked':print 'value="0"';?>>
далее запрос к БД на обновление данных, либо иные необходимые действия.

Добавлено через 1 минуту
то есть, в БД будут писаться значения либо 0, либо 1.
0
Jodah
Эксперт PHP
2848 / 2479 / 1057
Регистрация: 01.08.2012
Сообщений: 8,771
28.01.2016, 23:23 3
Когда принимаете данные из формы, делаете что-то вроде:
PHP
1
2
if(empty($_POST['abc_1']))
    $_POST['abc_1'] = 0;
Т.е. если значение не пришло и отсутствует в пришедшей форме, вы его явно задаёте.
0
Пифагор
Модератор
1221 / 1011 / 529
Регистрация: 10.01.2015
Сообщений: 3,399
28.01.2016, 23:25 4
Jodah, по-моему, чекбоксы проверяются через isset. Или я ошибаюсь?
0
Jodah
Эксперт PHP
2848 / 2479 / 1057
Регистрация: 01.08.2012
Сообщений: 8,771
28.01.2016, 23:45 5
Пифагор, без разницы, можно и так.
PHP
1
2
if(!isset($_POST['abc_1']))
    $_POST['abc_1'] = 0;
0
Пифагор
Модератор
1221 / 1011 / 529
Регистрация: 10.01.2015
Сообщений: 3,399
28.01.2016, 23:50 6
Jodah, просто, ИМХО, ни чек, ни радио не могут быть empty, так как у них уже если значения по умолчанию для передачи в переменную. Разве не так?
0
Jodah
Эксперт PHP
2848 / 2479 / 1057
Регистрация: 01.08.2012
Сообщений: 8,771
29.01.2016, 00:12 7
Пифагор, checkbox либо передаёт значение on, либо вообще не передаёт. Проверьте:
PHPHTML
1
2
3
4
5
6
<? print_r($_POST); ?>
<form method="post">
<input type="checkbox" name="1" />
<input type="checkbox" name="2" />
<input type="submit"/>
</form>
1
Пифагор
Модератор
1221 / 1011 / 529
Регистрация: 10.01.2015
Сообщений: 3,399
29.01.2016, 00:31 8
Jodah, Вы правы. Благодарю!
Еще одна монетка в копилку знаний))
0
huntry
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
30.01.2016, 02:31  [ТС] 9
Всем спасибо за помощь. Воспользовался вот этим
PHP
1
2
if(!isset($_POST['abc_1']))
    $_POST['abc_1'] = 0;
0
30.01.2016, 02:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2016, 02:31

Изменить значение переменной в конфиге
Есть файл config.php в нем записанны настройки в таком ввиде: $PARAM1 = '';...

Чекбокс
Помогите, пожалуйста, написать скрипт чекбокса(&quot;Запомнить меня&quot;) Тоесть есть...

Изменить значение opcache.revalidate_freq в PHP
Здравствуйте! Решил недавно перейти на Linux Mint. Но сейчас вот...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru