Не работает Логическое поле (Да/нет)

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Belui
phpBB 1.4.4
Сообщения: 127
Стаж: 16 лет 7 месяцев
Благодарил (а): 28 раз
Поблагодарили: 1 раз

Не работает Логическое поле (Да/нет)

Сообщение Belui »

Добрый день! Подскажите пожалуйста.

Увидел как то на одном форуме дополнительное поле при регистрации с вопросом: Этот форум действительно вам нужен? и два варианта ответа: "Да" "Нет". По умолчанию стоит нет. Если не выбрать Да, дальнейшие шаги регистрации не произойдут. Оно и действительно логично.


Я делаю такое же поле у себя. Ставлю галочку на обязательное к заполнение. По умолчанию ставлю тоже нет. Проверяю и в принципе ожидаю то же что и ожидал, ибо в настройках не видел никаких указаний какое слово то должно быть правильное.

Поэтому хоть и остается на НЕТ, то регистрация продолжается.


Вопрос: как же сделать так, что бы НЕТ было неправильным и регистрация не продолжалась?
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Garret_Dark »

Belui, насколько я помню, то нет возможности стандартными средствами сделать обязательный выбор, а только тот который не будет отображаться в профиле в случае выбора.

Но в принципе, достаточно легко реализуется несколькими строками кода
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Balamut »

Вы сделали дополнительное поле профиля? Оно для другого предназначено.

Подобное вам в стандартном комплекте phpBB называется Текстовое подтверждение (общие-средства против спам ботов-доступные модули), но там не чекбокс, а текстовый ответ.
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
Belui
phpBB 1.4.4
Сообщения: 127
Стаж: 16 лет 7 месяцев
Благодарил (а): 28 раз
Поблагодарили: 1 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Belui »

Smayliks, а для чего оно тогда?

Добавлено спустя 37 секунд:
Garret_Dark писал(а):Но в принципе, достаточно легко реализуется несколькими строками кода
В курсе как сделать?
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Balamut »

Для вывода дополнительной информации в профиле, я так думаю ;=)))
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Garret_Dark »

Belui, ну на вскидку так:
открыть includes/ucp/ucp_register.php
Найти

Код: Выделить всё

if (!sizeof($error))
Добавить перед найденным

Вариант 1 (При отказе сказать "Да" редиректим на главную форума

Код: Выделить всё

			if(!request_var('im_lovin_it', 0))
			{
				meta_refresh(5, append_sid("{$phpbb_root_path}index.$phpEx"));
				trigger_error('NOT_LOVIN_IT');
			}
Вариант 2 (Возвращаем на страницу регистрации с сообщением об ошибке и не теряем заполненность полей

Код: Выделить всё

			if(!request_var('im_lovin_it', 0))
			{
				$error[] = $user->lang['NOT_LOVIN_IT2'];
			}
Теперь необходимо добавит строчки в стиль.
Для prosilver ucp_register.html
Найти Добавить ниже

Код: Выделить всё

	<dl>
		<dt><label for="im_lovin_it">{L_YOU_LOVIN_IT}:</label></dt>
		<dd><input name="im_lovin_it" id="im_lovin_it" type="radio" class="radio" value="1" /> {L_YES} <input name="im_lovin_it" type="radio" class="radio" value="0" checked="checked" /> {L_NO}</dd>
	</dl>
Для subsilver2 ucp_register.html
Найти

Код: Выделить всё

<tr>
	<td class="row1"><b class="genmed">{L_LANGUAGE}: </b></td>
Добавить выше

Код: Выделить всё

<tr>
	<td class="row1"><b class="genmed">{L_YOU_LOVIN_IT}: </b></td>
	<td class="row1"><input name="im_lovin_it" id="im_lovin_it" type="radio" class="radio" value="1" /> {L_YES} <input name="im_lovin_it" type="radio" class="radio" value="0" checked="checked" /> {L_NO}</td>
</tr>
И на последок добавляем языковые переменные

Открыть language/ru/ucp.php (Аналогичные правки необходимо провести для ВСЕХ установленных языковых пакетов!)
Найти Добавить выше

Код: Выделить всё

$lang = array_merge($lang, array(
	'NOT_LOVIN_IT'			=> 'Ну раз вам не нужен наш форум, то и регистрация ни к чему :(',
	'NOT_LOVIN_IT2'			=> 'Вам действительно не нужен наш форум?',
	'YOU_LOVIN_IT'			=> 'Этот форум действительно вам нужен?',
));
Не проверял
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Татьяна5 »

Тип поля: Раскрывающийся список
Видимость поля: В форме регистрации, Обязательное поле
Настройки вида поля: Значение по умолчанию - Нет, Незначащий вариант - Нет
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Sheer »

Насколько я понимаю, все эти пляски с бубном задумываются как средство от автоматической регистрации спам-ботами. Не прокатит. Поставьте Антибот 100500 и не морочьте голову.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Garret_Dark »

Belui, попробуйте еще раз.
Только что специально проверил на голом 3.0.11 - все работает как положено

Добавлено спустя 4 минуты 54 секунды:
Belui, а удалять сообщения из под носа не хорошо...
Всегда пожалуйста
Аватара пользователя
Belui
phpBB 1.4.4
Сообщения: 127
Стаж: 16 лет 7 месяцев
Благодарил (а): 28 раз
Поблагодарили: 1 раз

Re: Не работает Логическое поле (Да/нет)

Сообщение Belui »

Garret_Dark, удалил, - ибо все заработало - просто ступил, напишу щас в личку из-за чего не работало. Спасибо.

Sheer, Татьяна5, спасибо за ответы.

Вернуться в «Поддержка phpBB 3.0.х»