[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача данных в БД через radiobox и checkbox
allforweb
Вопрос такой, есть форма для передачи данных в БД (добавление статической страницы). Все нормально получается кроме передачи данных через radiobox. У меня две кнопки, выбрать можно только одну и одна уже актинва по умолчанию.

Задумка такая: если стоит 1 – страница активна и показывается на сайте, если стоит 0 – то страница не выводится. Вот я и хочу передать эти значения в базу, в поле active. Подскажите как правильно это сделать.

P.S. И еще вопрос по теме, правильно ли я делаю активную и неактивную страницы. Может есть какой-то более оптимальный вариант?




Спустя 3 минуты, 44 секунды (17.09.2010 - 14:51) waldicom написал(а):
radiobutton должны иметь одинаковое имя... У Вас так?

Спустя 2 минуты, 3 секунды (17.09.2010 - 14:53) allforweb написал(а):
Да, так:
<input name="active" type="radio" value="1" checked="checked" />
<input name="active" type="radio" value="0" />
Значение я поставил разные только value.

Спустя 1 минута, 50 секунд (17.09.2010 - 14:55) waldicom написал(а):
А что тогда значит "... У меня две кнопки, выбрать можно только одну и одна уже актинва по умолчанию.
"

Спустя 26 минут, 57 секунд (17.09.2010 - 15:22) allforweb написал(а):
Цитата (waldicom @ 17.09.2010 - 11:55)
А что тогда значит "... У меня две кнопки, выбрать можно только одну и одна уже актинва по умолчанию.
"

Две кнопки, по коду видно что там.
Первая кнопка: страница активна (передается 1)
Вторая кнопка: страница не активна (передается 0)

Спустя 29 минут, 34 секунды (17.09.2010 - 15:52) aH6y написал(а):
тут же всё просто)

вот форма:

<input name="tmob" value="1" type="radio">
<input name="tmob" value="0" type="radio">

обработчик:

проверка на пустоту:
$_POST['tmob'] != '0' && $_POST['tmob'] != '1'

сам обработчик:

switch ($tmob)
{
case '1':
$tmob = 0
break;
case '0':
$tmob = 1
break;
}

ну иль if 'ом

if ($tmob == 1) {echo 'страница выводиться';}
elseif ($tmob == 0) {echo 'страница не выводиться';}

Спустя 54 секунды (17.09.2010 - 15:53) allforweb написал(а):
Цитата (aH6y @ 17.09.2010 - 12:52)
тут же всё просто)

вот форма:

<input name="tmob" value="1" type="radio">
<input name="tmob" value="0" type="radio">

обработчик:

проверка на пустоту:
$_POST['tmob'] != '0' && $_POST['tmob'] != '1'

сам обработчик:

switch ($tmob)
{
case '1':
$tmob = 0
break;
case '0':
$tmob = 1
break;
}

ну иль if 'ом

if ($tmob == 1) {echo 'страница выводиться';}
elseif ($tmob == 0) {echo 'страница не выводиться';}

Ну вот я сделал два чекбокса.
<input type="checkbox" name="active" value="1" id="active" checked="checked" />
<input type="checkbox" name="active" value="0" id="noactive" />

Поле в таблице сделал tinyint
И делаю проверку:
if (isset ($_POST['active'])) {$active = $_POST['1'];}
if (isset ($_POST['noactive'])) {$active = $_POST['0'];}

Потом запись в БД
$result = mysql_query ("INSERT INTO static (active) VALUES (''$active')");

А выдает ошибку.

Спустя 8 минут, 39 секунд (17.09.2010 - 16:01) aH6y написал(а):
omg

ты определись. тебе Checkbox иль Radiobutton ?

Спустя 20 минут, 38 секунд (17.09.2010 - 16:22) allforweb написал(а):
Цитата (aH6y @ 17.09.2010 - 13:01)
omg

ты определись. тебе Checkbox иль Radiobutton ?

Хотелось бы понять и тот и другой вапианты.

Спустя 2 часа, 24 минуты, 13 секунд (17.09.2010 - 18:46) KonstantinK написал(а):
Цитата
А выдает ошибку.

Ошибку то какую выдает?

Спустя 2 часа, 57 минут, 7 секунд (17.09.2010 - 21:43) aH6y написал(а):
Цитата (allforweb @ 17.09.2010 - 16:22)
Цитата (aH6y @ 17.09.2010 - 13:01)
omg

ты определись. тебе Checkbox иль Radiobutton ?

Хотелось бы понять и тот и другой вапианты.

я тебе написал radio.
внимательнее читай

Спустя 18 минут, 44 секунды (17.09.2010 - 22:02) allforweb написал(а):
Цитата (aH6y @ 17.09.2010 - 18:43)
Цитата (allforweb @ 17.09.2010 - 16:22)
Цитата (aH6y @ 17.09.2010 - 13:01)
omg

ты определись. тебе Checkbox иль Radiobutton ?

Хотелось бы понять и тот и другой вапианты.

я тебе написал radio.
внимательнее читай

Я все увидел, но вот в базу идет только 0 и все.

Я вот такой код сделал:
<input type="checkbox" name="active" value="checkbox" id="1" checked="checked" />
<input type="checkbox" name="noactive" value="checkbox" id="0" />
И обработка такая:
if (isset ($_POST['active'])) {$active = $_POST['active'];}
if (isset ($_POST['noactive'])) {$active = $_POST['noactive'];}

То есть переменной active даю значние 1 или 0 и заношу в базу, но в базу идет только 0.
А поле в базе такое:
active int(10) Да (Ноль) 1 (По умолчанию)

Спустя 1 час, 13 минут, 14 секунд (17.09.2010 - 23:15) aH6y написал(а):
Извентеляюсь конечно, но ты либо тупой либо слепой.

я тебе пишу о радиокнопке ты мне о чекбоксе...

вот пример радио кнопки:
<input name="tmob" value="1" type="radio">
<input
name="tmob" value="0" type="radio">

обработчик:
if ($tmob == 1) {echo 'страница выводиться';}
elseif ($tmob == 0) {echo 'страница не выводиться';}

вот пример чекбокса:
Все <input align="right" name="nature[]" type="checkbox" value="all" ><br>
Добрая <input align="right" name="nature[]" type="checkbox" value="good" ><br>
Нейтральная <input align="right" name="nature[]" type="checkbox" value="neutral" ><br>
Злая <input align="right" name="nature[]" type="checkbox" value="evil" >

обработчик:
foreach($nature as $value) @$qnat.= $value.' '; // выборка всех выбранных чекбоксов
$qnat = trim($qnat);// пробелы убираем

в итоге если у тебя выбераються пункты: Добрая, злая, то ты в переменную $qnat получишь следующее содержание:
good evil

Спустя 41 минута, 56 секунд (17.09.2010 - 23:57) allforweb написал(а):
Цитата (aH6y @ 17.09.2010 - 20:15)
Извентеляюсь конечно, но ты либо тупой либо слепой.

я тебе пишу о радиокнопке ты мне о чекбоксе...

вот пример радио кнопки:
<input name="tmob" value="1" type="radio">
<input
name="tmob" value="0" type="radio">

обработчик:
if ($tmob == 1) {echo 'страница выводиться';}
elseif ($tmob == 0) {echo 'страница не выводиться';}

вот пример чекбокса:
Все <input align="right" name="nature[]" type="checkbox" value="all" ><br>
Добрая <input align="right" name="nature[]" type="checkbox" value="good" ><br>
Нейтральная <input align="right" name="nature[]" type="checkbox" value="neutral" ><br>
Злая <input align="right" name="nature[]" type="checkbox" value="evil" >

обработчик:
foreach($nature as $value) @$qnat.= $value.' '; // выборка всех выбранных чекбоксов
$qnat = trim($qnat);// пробелы убираем

в итоге если у тебя выбераються пункты: Добрая, злая, то ты в переменную $qnat получишь следующее содержание:
good evil

Я не тупой и не слепой, только учу PHP.
Мне же в базу нужно занести, а не только на страницу.
И выбор только одного из значений, а не несколько.

Undefined variable: nature
Invalid argument supplied for foreach()

foreach - я еще вообще не знаю, можно как то обычным способом занести в базу через
if (isset ($_POST['active'])) {$active = $_POST['active'];}

Спустя 1 час, 9 минут, 7 секунд (18.09.2010 - 01:06) aH6y написал(а):
обработчик радиокнопки:
mysql_query("INSERT INTO table (tmob) VALUES ('$tmob')");// добавление поля $tmob в ячейку tmob в таблице table.

пиши в icq 582-30-30

Спустя 5 минут, 44 секунды (18.09.2010 - 01:12) inpost написал(а):
Чекбокс:
Тебе дали ответ! name="nature[]" - говорит о том, что данные приходят на вторую страницу. [] - массив, то есть передаются параметры только те, где стоит галочка! При этом массив формируется с цифры 0.
В пример: поставил галочку на good и neutral:
данные пришли в таком виде: $_POST['nature'][0] = good. $_POST['nature'][1] = neutral.
Таким образом всё получаешь или через foreach.

Радиокнопки: тебе ответ полный дали.

Твои мысли правильные, разделение на 1 и 0 - рационально.

aH6y: ты человека запутываешь! Обработчик приходит как $_POST['tmob'], а не как $tmob. Лучше сразу:
mysql_query("INSERT INTO `table` SET
`tmob`='".(int)$_POST['tmob']."',
`nature`='".(int)$_POST['nature'][0]."'
");
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.