Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 07:12   #1
Fastah
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 39
Вопрос checkbox+php+mysql

Всем доброго дня!
Имеется форма:

На всякий случай приведу код
Код:
<html>
<head>
<title> CATALOG :: Множетсвенный выбор </title>
</head>
<body background="old_mathematics.png">
<form>
<h4> Создание </h4>
Имя:&nbsp;<input type=text name=clname value="" size=20>
<br>
<br>
Хобби:
<br>
<table>
<tr>
<td align="right">Фильмы<input type="checkbox" name="hobbie1" value="films"></td>
<td align="right">Спорт<input type="checkbox" name="hobbie2" value="sport"></td>
</tr>
<tr>
<td align="right">Музыка<input type="checkbox" name="hobbie3" value="music"></td>
<td align="right">Рисование<input type="checkbox" name="hobbie4" value="painting"></td>
</tr>
</table>
<br>
<input type="submit" name="btn_save" value="Сохранить" />
</form>
</body>
</html>
Подскажите код на php что бы реализовать следующее: вводим имя, отмечаем хобби, по нажатию кнопки в базу данных заносятся столько записей, сколько отмечено хобби.
К примеру выбрано 2 хобби тогда база должна выглядеть так:
----------------------
|Василий | Фильмы
|Василий | Рисование
----------------------

Последний раз редактировалось Fastah; 01.11.2011 в 14:55.
Fastah вне форума Ответить с цитированием
Старый 01.11.2011, 08:59   #2
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

PHP код:
if (!empty($_POST['hobbie1'])) {
// вставка hobbie1

if (!empty(
$_POST['hobbie2'])) {
// вставка hobbie2

if (!empty(
$_POST['hobbie3'])) {
// вставка hobbie3

if (!empty(
$_POST['hobbie4'])) {
// вставка hobbie4

Lesha вне форума Ответить с цитированием
Старый 01.11.2011, 11:27   #3
Fastah
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 39
По умолчанию

Таким способом по нажатию кнопки не срабатывает.
НО! Вы натолкнули на мысль, сделал вот так:
PHP код:
$hobbie1 $_REQUEST['hobbie1'];
if(
$_REQUEST['btn_save']=="Сохранить") { 
if (isset(
$hobbie1) && strlen($hobbie1)>0) {
//SQL запрос

вопрос в том, корректно ли такое использование?

Последний раз редактировалось Fastah; 01.11.2011 в 11:59.
Fastah вне форума Ответить с цитированием
Старый 01.11.2011, 13:08   #4
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

Цитата:
$hobbie1 = $_REQUEST['hobbie1'];
if($_REQUEST['btn_save']=="Сохранить") {
if (isset($hobbie1) && strlen($hobbie1)>0) {
//SQL запрос
}
жесть

зачем проверять имя КНОПКИ?
нужно проверить только POST данные!

Цитата:
isset($hobbie1) && strlen($hobbie1)>0
этот велосипед эквивалентен

Код:
!empty($_POST['hobbie1'])
Цитата:
$hobbie1 = $_REQUEST['hobbie1'];
не нужно сохранять результат в переменную, нужно сразу его обрабатывать.

Цитата:
Таким способом по нажатию кнопки не срабатывает.
подозреваю причина в пустом теге <form>
Lesha вне форума Ответить с цитированием
Старый 01.11.2011, 13:28   #5
Fastah
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 39
По умолчанию

Проверяю кнопку т.к. кнопка не ссылается на файл php, код php вместе с html, отсюда видимо и не работает !empty($_POST['hobbie1'])
Fastah вне форума Ответить с цитированием
Старый 01.11.2011, 15:14   #6
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
подозреваю причина в пустом теге <form>
Правильно подозреваете. Если бы ТС читал учебники внимательней, то он бы увидел что "по умолчанию используется метод GET". А вот про action, если не указан, отправляет на текущую страницу.
psycho-coder вне форума Ответить с цитированием
Старый 01.11.2011, 16:09   #7
Fastah
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
Правильно подозреваете. Если бы ТС читал учебники внимательней, то он бы увидел что "по умолчанию используется метод GET". А вот про action, если не указан, отправляет на текущую страницу.
Спасибо!
А не подскажете код для удаления/редактирования базы. Вводим имя Василий жмём поиск, нам выводятся 4 checkbox'a (как на основной форме), 2 из них уже отмечены - фильмы и рисование. Мы можем удалить запись полностью, а можем добавить ещё хобби или убрать.
Fastah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox+php+mysql Fastah Помощь студентам 0 01.11.2011 07:09
что не так с php кдом или с настройками MySQL+PHP Jimmi Помощь студентам 2 27.12.2010 09:03
checkbox + php [удаление информации из БД] webber9989 PHP 14 18.08.2010 17:15
checkbox and php mar4elo PHP 1 03.08.2010 23:21