Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <form>, передача параметров 
:(
    Опции темы
Фолко
Дата 26.4.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 9.4.2006
Где: Belarus

Репутация: нет
Всего: нет



Доброго всем времени суток!
Народ помогите плиз, проде ламерский вопрос, но я что-то застопорился и ничего не могу придумать ^ ^.
У меня на одной страничке 1.php формочка и в этой формочке есть флажки
checkbox 
Код

<input type="checkbox" name="checkbox_rus_sound" value="rus_sound">Русс. звук<br>
<input type="checkbox" name="checkbox_rus_subs" value="rus_subs"
checked=checked>Русс. сабы<br>
<input type="checkbox" name="checkbox_eng_subs" value="eng_subs">Англ. сабы<br>

И когда значит нажимаем на Submit данные должны передаваться в 2.php и там обрабатываться.
Если флажки поставлены - все нормально, моя переменная на 2.php видна
$checkbox_rus_sound == "rus_sound" например, ок, 
НО если флажки НЕ поставлены то переменная уже не видна smile
"Notice: Undefined variable: checkbox_rus_sound in x:\home\folko.h16.ru\www\add.php on line 33"
Чтобы можно сделать ? ^ ^
Заранее спасиба! 
PM MAIL ICQ   Вверх
Satana
Дата 26.4.2006, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: 2
Всего: 5



Фолко, хм а как ты обрабатываешь это во втором скрипте? 


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Rock
Дата 26.4.2006, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 13.1.2005
Где: Краснодар

Репутация: 0
Всего: 1



здесь можно и без value, т.к. это checkbox
Код

if (isset($checkbox_rus_sound)) {
    echo "Вы выбрали русский звук";
}

Но если честно, я не вошебник, я только учусь, поэтому не уверен в правильности, но сделал бы так.   

Это сообщение отредактировал(а) Rock - 26.4.2006, 23:02
PM MAIL ICQ   Вверх
Mal Hack
Дата 26.4.2006, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Rock @  26.4.2006,  23:01 Найти цитируемый пост)
Но если честно, я не вошебник, я только учусь, поэтому не уверен в правильности, но сделал бы так. 

Алгоритм верен, реализация - нет.

Читаем тут: http://vingrad.ru/PHP-ART-002846 
PM ICQ   Вверх
Фолко
Дата 26.4.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 9.4.2006
Где: Belarus

Репутация: нет
Всего: нет



Спасиба! Вариант isset($checkbox_variable) помог ^ ^
Но это применительно только к чекбоксам.
А например Radio Buttons? Если не выбрана ни одна RadioButton?

Satana. Допустим я хочу просто вывести значение на экран.
Код

1.php
<td align=right>Рейтинг:</td>
<td align=left>
<input type="radio" name="rating" value="rating0" checked=checked>0<br>
<input type="radio" name="rating" value="rating1">1блабла<br>
<input type="radio" name="rating" value="rating2">2блабла<br>
<input type="radio" name="rating" value="rating3">3 блабла<br>
</td>

Код

2.php
if ($rating == "rating1") echo "Ура! Заработало! ^^";

Если та же радиокнопка выбрана то в мой второй файл 2.php отправится ее значение value а вот если ни одна кнопка не выбрана тогда value не отправляется и ругается что не может найти переменную $rating.

Я сейчас просто поставил значение по умолчанию - чтоб хотябы одна радиокнопка была всегда выделена.

Добавлено @ 23:33 
А, ну хотя впринципе почти также можно сделать и с Radio Buttons.... ^ ^ 
PM MAIL ICQ   Вверх
Ivushka
Дата 27.4.2006, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 28.10.2005
Где: Москва

Репутация: 2
Всего: 2



при нажатии на Submit у тебя либо передается value или не передается ничего.
для этого используют проверку на передачу, т.е. передоно ли значение вообще а потом какое значение передано
Код

if ((isset($rating)) and ($rating == "rating1")) echo "Ура! Заработало! ^^";
 
--------------------
Программист - это диагноз!
PM MAIL ICQ   Вверх
ZlojEzh
Дата 27.4.2006, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 10
Всего: 15



неприятная ситуация получается, если заранее не известно, какие именно чекбоксы и с какими именами будут в форме
в таком случае варинты с isset не проходят

боремся так:
Код

<input type='hidden' name='ch_1' value='0'>
<input type='checkbox' name='ch_1' value='1'>Ch_1

<input type='hidden' name='radio_1' value='0'>
<input type='radio' name='radio_1' value='1'>Radio_1_1
<input type='radio' name='radio_1' value='2'>Radio_1_2
 
PM MAIL ICQ   Вверх
R.M.
Дата 27.4.2006, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



ZlojEzh, можно и на сервере
Код
if (!isset($radio_1)) {$radio_1 = '0';}
 


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
ZlojEzh
Дата 27.4.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 10
Всего: 15



Цитата(ZlojEzh @  27.4.2006,  09:24 Найти цитируемый пост)
 если заранее не известно, какие именно чекбоксы и с какими именами будут в форме

 
PM MAIL ICQ   Вверх
Mal Hack
Дата 27.4.2006, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(ZlojEzh @  27.4.2006,  09:24 Найти цитируемый пост)
какие именно чекбоксы и с какими именами будут в форме

А тогда, пардон не правильно построена работа системы. Либо мы получаем данные которые на фиг не нужны, либо мы должны работать с лдинамическим содержимом, но это уже другой подход. 
PM ICQ   Вверх
ZlojEzh
Дата 27.4.2006, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 10
Всего: 15



конечно с динамическим

такая вот задача стоит:
есть некая сущность имеющая порядка тысячи характиристик
причем наборы характеристик изменяются в зависимости от типа конкретного объекта
из этой тысячи приблизительно по ста характеристикам нужно организовать поиск
наборы типов должны меняться через веб-интерфейс
управление наборами характеристик - аналогично
управление отображанием объектов каждого типа - аналогично
+ динамическое формирование форм заполнения информации об объектах
+ перевод отображения объектов на n-ное количество

такая вот, в общих чертах, система (подробнее рассказать не могу - разглашение корпоративных секретов получится )) )

Mal Hack, не спорю, можно все это организовать и через isset/empty
хранить информацию обо всех чекбоксах и радио в отдельных таблицах
обрабатывать эти списки при занесении информации в базу и заполнять недостающие поля

но, имхо, удобнее сразу получать полный список значений, уже готовый (после проверки данных, конечно) к записи в базу 
PM MAIL ICQ   Вверх
Mal Hack
Дата 27.4.2006, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(ZlojEzh @  27.4.2006,  22:26 Найти цитируемый пост)
Mal Hack, не спорю, можно все это организовать и через isset/empty
хранить информацию обо всех чекбоксах и радио в отдельных таблицах
обрабатывать эти списки при занесении информации в базу и заполнять недостающие поля

Это - статика...

Динамика, когда ты грубо говоря, получаешь чекбоксы, не зная их имен пишешь в множество, к примеру. Вообще таких задач очень мало, и для простого применения в веб-технологиях динамика передаваемых параметров (в таком виде) мало используется. 
PM ICQ   Вверх
InfMag
Дата 28.4.2006, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Вот, если нажата хоть одна радиобаттон, то выполняется определенное действие, если не нажато ни одной, то выдается ошибка:
Код

if (isset($_POST['rating']))
{
     switch ($_POST['rating'])
     {
          default:
               echo '<div align="center"><font color="#ff0000">Ошибка! Не выбран ни один вариант!</font></div>';
          break;
          case "rating0":
               echo '1 вариант';
          break;
          case "rating1":
               echo '2 вариант';
          break;
          case "rating2":
               echo '3 вариант';
          break;
          case "rating3":
               echo '4 вариант';
          break;
     }
} else echo '<div align="center"><font color="#ff0000">Ошибка! Не выбран ни один вариант!</font></div>';
 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.