Danteky 0 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 Всем привет привет. Нужна помощь с кодом. Есть форма заявки, где люди заполняют свои данные, ФИО, адрес, паспорт ИНН и т.д. и отправляют эту заявку. Стоял у нас код, что бы люди с повторяющимися данными, не могли больше подать заявку: if(!empty($forms_status)){ echo "Заявка уже подана!"; exit;} Начались проблемы, что у новых пользователей, которые впервые подают заявку, выходит данная ошибка. Я ошибку временно убрал. Теперь прошу помощи разобраться, к чему привязана данная проверка "$forms_status", это оно? ЧТо это вообще?)) И как можно привязать проверку, например к строке ИНН? Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 Сначала надо получить значение из поля ИНН, потом сделать проверку в БД на наличие такого значения. И потому уже давать отлуп, если такое поле есть Что-то вроде, если грубо $inn = intval($_POST['inn']); // Значение из формы поля ИНН $count_inn = $db->super_query("SELECT COUNT(*) AS count FROM " . PREFIX . "_table WHERE inn = '{$inn}' "); //Смотрим, есть ли в БД такой ИНН //и если есть убиваем if ($count_inn) { echo "Заявка уже подана!"; exit; }else{ тут делаем чтото, если такого ИНН нет } Это очень грубо, но принцип понятен 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Danteky 0 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 (изменено) Автор 25 минут назад, alex32 сказал: Сначала надо получить значение из поля ИНН, потом сделать проверку в БД на наличие такого значения. И потому уже давать отлуп, если такое поле есть Что-то вроде, если грубо $inn = intval($_POST['inn']); // Значение из формы поля ИНН $count_inn = $db->super_query("SELECT COUNT(*) AS count FROM " . PREFIX . "_table WHERE inn = '{$inn}' "); //Смотрим, есть ли в БД такой ИНН //и если есть убиваем if ($count_inn) { echo "Заявка уже подана!"; exit; }else{ тут делаем чтото, если такого ИНН нет } Это очень грубо, но принцип понятен Спасибо. Я вот сделал, немного отличается от твоего, потому что я сделал по примеру как было у меня ранее. Как считаешь всё ок? $inn = $_POST["i_1523986318899"]; $forms_status = $db->super_query( "SELECT status FROM " . PREFIX . "_kylform WHERE data LIKE '%\"i_1523986318899\":\"{$inn}\"%' AND status != '2'" ); if(!empty($forms_status)){ echo "Введены некорректные данные. Повторите попытку, или обратитесь в учреждение!"; exit; } Изменено 11 апреля 2019 пользователем Danteky Цитата Ссылка на сообщение Поделиться на других сайтах
Danteky 0 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 Автор 43 минуты назад, alex32 сказал: Сначала надо получить значение из поля ИНН, потом сделать проверку в БД на наличие такого значения. И потому уже давать отлуп, если такое поле есть Что-то вроде, если грубо $inn = intval($_POST['inn']); // Значение из формы поля ИНН $count_inn = $db->super_query("SELECT COUNT(*) AS count FROM " . PREFIX . "_table WHERE inn = '{$inn}' "); //Смотрим, есть ли в БД такой ИНН //и если есть убиваем if ($count_inn) { echo "Заявка уже подана!"; exit; }else{ тут делаем чтото, если такого ИНН нет } Это очень грубо, но принцип понятен Всё спасибо за подсказочку. Вот как я выше написал, сделал немного по своему, всё работает)))) Цитата Ссылка на сообщение Поделиться на других сайтах
Danteky 0 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 Автор 2 часа назад, alex32 сказал: Сначала надо получить значение из поля ИНН, потом сделать проверку в БД на наличие такого значения. И потому уже давать отлуп, если такое поле есть Что-то вроде, если грубо $inn = intval($_POST['inn']); // Значение из формы поля ИНН $count_inn = $db->super_query("SELECT COUNT(*) AS count FROM " . PREFIX . "_table WHERE inn = '{$inn}' "); //Смотрим, есть ли в БД такой ИНН //и если есть убиваем if ($count_inn) { echo "Заявка уже подана!"; exit; }else{ тут делаем чтото, если такого ИНН нет } Это очень грубо, но принцип понятен Кстати, а скажи во второй строчке, где у тебя "название базы"? Дело в том что у меня несколько баз, и нужно чтоб проверка была из второй базы. А код проверяет как то общую базу, из обеих. Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 в файле /ebgine/data/dbconfig.php подключение к БД и объявляется объект класса db. Цитата Ссылка на сообщение Поделиться на других сайтах
proba 57 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 Danteky, вы принимаете персональные данные от пользователей вашего сайта (https://work.noyamolod.ru), если конечно это ваш, при этом в коде - "немного плаваете", не задумывались, если получится так, что когда-нибудь за утечку данных, вы можете запеть фальцетом от 152-ФЗ? Цитата Ссылка на сообщение Поделиться на других сайтах
Danteky 0 Опубликовано: 11 апреля 2019 Рассказать Опубликовано: 11 апреля 2019 Автор 10 минут назад, proba сказал: Danteky, вы принимаете персональные данные от пользователей вашего сайта (https://work.noyamolod.ru), если конечно это ваш, при этом в коде - "немного плаваете", не задумывались, если получится так, что когда-нибудь за утечку данных, вы можете запеть фальцетом от 152-ФЗ? В коде я плаваю, потому что я "помощник" главного программиста. Второй пилот так сказать, Так что я не лезу туда, где бьёт током. Спасибо за предупреждение))) Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.