Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Добавление логической переменной

04.02.2021, 01:47
Сергей

Зарегистрирован:
2021-02-04
Сообщений: 2

Коллеги, добрый день.
Помогите пожалуйста разобраться с таким вопросом:
В компоненте (отзыв) есть переменные телефон, ФИО, телефон, текст и т.д. и к этой форме необходимо прикрутить логическую переменную (Согласие на обработку персональных данных) и без согласия отзыв не должен отправляться.
Добавил переменную, сделал её обязательной для заполнения, и опубликовал в форме, но появилась проблема с условием согласия, т.е. отзыв отправляется как и с галкой, так и без неё.
Вот такое условие в добавлении объекта
if(!$f_Name || !$f_Email || !$f_Text || $f_pdn==0) {
$posting = 0;
#information text
$warnText = NETCAT_MODERATION_INFO_REQFIELDS;
}
pdn - поле для обязательного заполнения (логическая переменная).
Подскажите, что не правильно сделал.
Спасибо
04.02.2021, 12:33
VenZell
Карагодников Алексей Николаевич
VenZell

Зарегистрирован:
2014-07-25
Сообщений: 77

Здравствуйте.
Поставьте значение по умолчанию для этой переменной равное 0 в настройках поля.
Условие измените на:

Код:
if (!$f_Name || !$f_Email || !$f_Text || !$f_pdn) {
$posting = 0;
#information text
$warnText = NETCAT_MODERATION_INFO_REQFIELDS;
}
05.02.2021, 06:02
Сергей

Зарегистрирован:
2021-02-04
Сообщений: 2

Установил значение по умолчанию на 0 и условие прописал новое...
Теперь при попытке отправить отзыв форма ругается
>>Звездочкой (*) отмечены поля, обязательные для заполнения
без разницы установлена галка или нет.
05.02.2021, 11:29
VenZell
Карагодников Алексей Николаевич
VenZell

Зарегистрирован:
2014-07-25
Сообщений: 77

Сверьте имя поля в компоненте и в выводимой форме. Если они одинаковые, создайте тикет в технической поддержке.
24.03.2021, 19:03
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Мисье ваша проблема вероятно в том, что поле имеет значение 0, а должна 1
Код:
<input type='checkbox' name='f_pdn' value='0'>


Зачем вам в бд отпрвлять это значение?
Переменная то она все равно существует. Ваше дело. Но по всей видимости вы и сами толком не понимаете что творите.

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
12.12.2022, 09:35
Art-Tvorec
Романько Максим Евгеньевич

Зарегистрирован:
2005-06-10
Сообщений: 6

Сударь просто внимательно почитайте документацию.
Здесь налицо ошибка разработчиков!!!
Текст из документации описывающей "тип полей" для типа "Логическая переменная": "Если у поля параметр «обязательно для заполнения» выключен, то будет выводиться блок radiobutton'ов (не важно, да, нет). Если этот параметр включен, будет выводиться checkbox...
Это полная лажа!!! Если параметр «обязательно для заполнения» будет включен то переменная будет всегда "Да" в противном случае система будет выдавать ошибку "Поле не заполнено", и смысл в логической переменной полностью исчезает!!!
P.S. Логичней было бы привязать вид отображения к заполнению поля "Значение по умолчанию", если заполнено то выводить checkbox, в противном случае radiobutton'ов (не важно, да, нет), или при включенном параметре «обязательно для заполнения» выводить не checkbox, а блок radiobutton'ов что логичней так как не зависимо от выбора хоть одно из значений будет выделено что будет соответствовать условию «обязательно для заполнения»!!!

Art-Tvorec
198 196 2022-12-12 09:35:20 15291
Описание проекта