drmodjo Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 Привет всем. Есть такая нужда, чтобы номер телефона при регистрации проверялся по базе (как email), дабы не было дубликатов. Подскажите пожалуйста в каких файлах и что добавить. Заранее благодарю. (OpenCart 2.3.0.2, стандартный шаблон) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 15 минут назад, drmodjo сказал: Подскажите пожалуйста в каких файлах и что добавить. Файл catalog/controller/account/register.php В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Затем в файле catalog/model/account/customer.php Ищем функцию getTotalCustomersByEmail() и по аналогии делаем для телефона. Это если не заморачиватся с форматом телефона. При поиске и записи телефона, обязательно записывайте его в одном формате. Так как может не сработать Ваша проверка Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 4 часа назад, OCappLab сказал: Затем в файле catalog/model/account/customer.php В этом файле очень много кода связанного с email. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 2 минуты назад, drmodjo сказал: В этом файле очень много кода связанного с email. Внимательно перечитайте мое сообщение выше 4 часа назад, OCappLab сказал: Затем в файле catalog/model/account/customer.php Ищем функцию getTotalCustomersByEmail() Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 минут назад, OCappLab сказал: Ищем функцию getTotalCustomersByEmail() Если использовать только эту часть кода, то опенкарт ругается. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 4 минуты назад, drmodjo сказал: Если использовать только эту часть кода, то опенкарт ругается. Вы по аналогии сделайте. Тоесть создайте функцию, например, getTotalCustomersByPhone И проверку делайте уже использую эту функцию. А в контроллере, ее уже использовать по-аналогии с 4 часа назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 (изменено) 1 час назад, OCappLab сказал: Я очень извиняюсь. Что-то никак не получается. Могу я вам прислать эти два файла (register.php и customer.php), сделаете правку, чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? Буду вам очень благодарен. Замучали некоторые пользователи, а это их ограничит. Изменено 21 марта 2019 пользователем drmodjo Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 1 час назад, drmodjo сказал: чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? У вас в файлах есть шаблон. Копируете: 1 час назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Эти строчки, получится, примерно: if (utf8_strlen($this->request->post['telephone']) > 96) { $this->error['phone'] = $this->language->get('error_phone'); //тут нужно не забыть языковую переменную в файл добавить } if ($this->model_account_customer->getTotalCustomersByPhone($this->request->post['telephone'])) { $this->error['warning'] = $this->language->get('error_exists'); } И в модели так же само, по аналогии создаем функцию: public function getTotalCustomersByPhone($phone) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "customer WHERE LOWER(telephone) = '" . $this->db->escape(utf8_strtolower($phone)) . "'"); return $query->row['total']; } В идеале, конечно нужно чтоб телефоны были одного формата, чтоб проверка успешная была. А то кто-то напишет 555-55-55, а кто-то 5555555 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 3 часа назад, OCappLab сказал: Благодарю. Получилось. Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 часов назад, OCappLab сказал: 1 час назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Соответственно выдает такую ошибку. (PHP Notice: Indirect modification of overloaded property ControllerCheckoutRegister::$error has no effect in .../catalog/controller/checkout/register.php on line 162) Помогите пожалуйста. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 7 часов назад, OCappLab сказал: 3 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 8 часов назад, OCappLab сказал: 4 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? 28 минут назад, drmodjo сказал: В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Все, разобрался )). Большое спасибо вам OCappLab. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 22 марта 2019 Поделиться Опубликовано: 22 марта 2019 9 часов назад, drmodjo сказал: Все, разобрался )). Большое спасибо вам OCappLab. Не за что Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 года спустя... Mhack Опубликовано: 13 марта Поделиться Опубликовано: 13 марта В 22.03.2019 в 00:25, drmodjo сказав: Все, разобрался )). Большое спасибо вам OCappLab. Здравствуйте, как решили проблему, если помните?))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Проверка номера телефона по базе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 4 часа назад, OCappLab сказал: Затем в файле catalog/model/account/customer.php В этом файле очень много кода связанного с email. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 2 минуты назад, drmodjo сказал: В этом файле очень много кода связанного с email. Внимательно перечитайте мое сообщение выше 4 часа назад, OCappLab сказал: Затем в файле catalog/model/account/customer.php Ищем функцию getTotalCustomersByEmail() Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 минут назад, OCappLab сказал: Ищем функцию getTotalCustomersByEmail() Если использовать только эту часть кода, то опенкарт ругается. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 4 минуты назад, drmodjo сказал: Если использовать только эту часть кода, то опенкарт ругается. Вы по аналогии сделайте. Тоесть создайте функцию, например, getTotalCustomersByPhone И проверку делайте уже использую эту функцию. А в контроллере, ее уже использовать по-аналогии с 4 часа назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 (изменено) 1 час назад, OCappLab сказал: Я очень извиняюсь. Что-то никак не получается. Могу я вам прислать эти два файла (register.php и customer.php), сделаете правку, чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? Буду вам очень благодарен. Замучали некоторые пользователи, а это их ограничит. Изменено 21 марта 2019 пользователем drmodjo Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 1 час назад, drmodjo сказал: чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? У вас в файлах есть шаблон. Копируете: 1 час назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Эти строчки, получится, примерно: if (utf8_strlen($this->request->post['telephone']) > 96) { $this->error['phone'] = $this->language->get('error_phone'); //тут нужно не забыть языковую переменную в файл добавить } if ($this->model_account_customer->getTotalCustomersByPhone($this->request->post['telephone'])) { $this->error['warning'] = $this->language->get('error_exists'); } И в модели так же само, по аналогии создаем функцию: public function getTotalCustomersByPhone($phone) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "customer WHERE LOWER(telephone) = '" . $this->db->escape(utf8_strtolower($phone)) . "'"); return $query->row['total']; } В идеале, конечно нужно чтоб телефоны были одного формата, чтоб проверка успешная была. А то кто-то напишет 555-55-55, а кто-то 5555555 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 3 часа назад, OCappLab сказал: Благодарю. Получилось. Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 часов назад, OCappLab сказал: 1 час назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Соответственно выдает такую ошибку. (PHP Notice: Indirect modification of overloaded property ControllerCheckoutRegister::$error has no effect in .../catalog/controller/checkout/register.php on line 162) Помогите пожалуйста. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 7 часов назад, OCappLab сказал: 3 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 8 часов назад, OCappLab сказал: 4 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? 28 минут назад, drmodjo сказал: В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Все, разобрался )). Большое спасибо вам OCappLab. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 22 марта 2019 Поделиться Опубликовано: 22 марта 2019 9 часов назад, drmodjo сказал: Все, разобрался )). Большое спасибо вам OCappLab. Не за что Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 года спустя... Mhack Опубликовано: 13 марта Поделиться Опубликовано: 13 марта В 22.03.2019 в 00:25, drmodjo сказав: Все, разобрался )). Большое спасибо вам OCappLab. Здравствуйте, как решили проблему, если помните?))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Проверка номера телефона по базе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 минут назад, OCappLab сказал: Ищем функцию getTotalCustomersByEmail() Если использовать только эту часть кода, то опенкарт ругается. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 4 минуты назад, drmodjo сказал: Если использовать только эту часть кода, то опенкарт ругается. Вы по аналогии сделайте. Тоесть создайте функцию, например, getTotalCustomersByPhone И проверку делайте уже использую эту функцию. А в контроллере, ее уже использовать по-аналогии с 4 часа назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 (изменено) 1 час назад, OCappLab сказал: Я очень извиняюсь. Что-то никак не получается. Могу я вам прислать эти два файла (register.php и customer.php), сделаете правку, чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? Буду вам очень благодарен. Замучали некоторые пользователи, а это их ограничит. Изменено 21 марта 2019 пользователем drmodjo Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 1 час назад, drmodjo сказал: чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? У вас в файлах есть шаблон. Копируете: 1 час назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Эти строчки, получится, примерно: if (utf8_strlen($this->request->post['telephone']) > 96) { $this->error['phone'] = $this->language->get('error_phone'); //тут нужно не забыть языковую переменную в файл добавить } if ($this->model_account_customer->getTotalCustomersByPhone($this->request->post['telephone'])) { $this->error['warning'] = $this->language->get('error_exists'); } И в модели так же само, по аналогии создаем функцию: public function getTotalCustomersByPhone($phone) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "customer WHERE LOWER(telephone) = '" . $this->db->escape(utf8_strtolower($phone)) . "'"); return $query->row['total']; } В идеале, конечно нужно чтоб телефоны были одного формата, чтоб проверка успешная была. А то кто-то напишет 555-55-55, а кто-то 5555555 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 3 часа назад, OCappLab сказал: Благодарю. Получилось. Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 часов назад, OCappLab сказал: 1 час назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Соответственно выдает такую ошибку. (PHP Notice: Indirect modification of overloaded property ControllerCheckoutRegister::$error has no effect in .../catalog/controller/checkout/register.php on line 162) Помогите пожалуйста. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 7 часов назад, OCappLab сказал: 3 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 8 часов назад, OCappLab сказал: 4 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? 28 минут назад, drmodjo сказал: В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Все, разобрался )). Большое спасибо вам OCappLab. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 22 марта 2019 Поделиться Опубликовано: 22 марта 2019 9 часов назад, drmodjo сказал: Все, разобрался )). Большое спасибо вам OCappLab. Не за что Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 года спустя... Mhack Опубликовано: 13 марта Поделиться Опубликовано: 13 марта В 22.03.2019 в 00:25, drmodjo сказав: Все, разобрался )). Большое спасибо вам OCappLab. Здравствуйте, как решили проблему, если помните?))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация Проверка номера телефона по базе
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 (изменено) 1 час назад, OCappLab сказал: Я очень извиняюсь. Что-то никак не получается. Могу я вам прислать эти два файла (register.php и customer.php), сделаете правку, чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? Буду вам очень благодарен. Замучали некоторые пользователи, а это их ограничит. Изменено 21 марта 2019 пользователем drmodjo Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
OCappLab Опубликовано: 21 марта 2019 Поделиться Опубликовано: 21 марта 2019 1 час назад, drmodjo сказал: чтобы я наглядно увидел а проверку других полей при регистрации уже сделаю по шаблону? У вас в файлах есть шаблон. Копируете: 1 час назад, OCappLab сказал: В функцию validate() по аналогии: if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) { $this->error['email'] = $this->language->get('error_email'); } if ($this->model_account_customer->getTotalCustomersByEmail($this->request->post['email'])) { $this->error['warning'] = $this->language->get('error_exists'); } Эти строчки, получится, примерно: if (utf8_strlen($this->request->post['telephone']) > 96) { $this->error['phone'] = $this->language->get('error_phone'); //тут нужно не забыть языковую переменную в файл добавить } if ($this->model_account_customer->getTotalCustomersByPhone($this->request->post['telephone'])) { $this->error['warning'] = $this->language->get('error_exists'); } И в модели так же само, по аналогии создаем функцию: public function getTotalCustomersByPhone($phone) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "customer WHERE LOWER(telephone) = '" . $this->db->escape(utf8_strtolower($phone)) . "'"); return $query->row['total']; } В идеале, конечно нужно чтоб телефоны были одного формата, чтоб проверка успешная была. А то кто-то напишет 555-55-55, а кто-то 5555555 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 3 часа назад, OCappLab сказал: Благодарю. Получилось. Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 часов назад, OCappLab сказал: 1 час назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Соответственно выдает такую ошибку. (PHP Notice: Indirect modification of overloaded property ControllerCheckoutRegister::$error has no effect in .../catalog/controller/checkout/register.php on line 162) Помогите пожалуйста. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 7 часов назад, OCappLab сказал: 3 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 8 часов назад, OCappLab сказал: 4 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? 28 минут назад, drmodjo сказал: В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Все, разобрался )). Большое спасибо вам OCappLab. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCappLab Опубликовано: 22 марта 2019 Поделиться Опубликовано: 22 марта 2019 9 часов назад, drmodjo сказал: Все, разобрался )). Большое спасибо вам OCappLab. Не за что Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 года спустя... Mhack Опубликовано: 13 марта Поделиться Опубликовано: 13 марта В 22.03.2019 в 00:25, drmodjo сказав: Все, разобрался )). Большое спасибо вам OCappLab. Здравствуйте, как решили проблему, если помните?))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 3 часа назад, OCappLab сказал: Благодарю. Получилось. Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 5 часов назад, OCappLab сказал: 1 час назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? Соответственно выдает такую ошибку. (PHP Notice: Indirect modification of overloaded property ControllerCheckoutRegister::$error has no effect in .../catalog/controller/checkout/register.php on line 162) Помогите пожалуйста. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 7 часов назад, OCappLab сказал: 3 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
drmodjo Опубликовано: 21 марта 2019 Автор Поделиться Опубликовано: 21 марта 2019 8 часов назад, OCappLab сказал: 4 часа назад, drmodjo сказал: Вот только теперь надо править еще в catalog/controller/checkout/register.php. (тут поправил) А в catalog/model/checkout/customer.php такого не существует. Как тут быть? 28 минут назад, drmodjo сказал: В общем с этим тоже разобрался. Единственная проблема осталась в аккаунте пользователя. Нет возможности отредактировать информацию пользователя не сменив номер. Так как пишет: Данный номер телефона уже зарегистрирован! Как сделать, чтобы он писал ошибку только в том случае, если есть идентичный номер у других пользователей, а на свой чтобы не ругался? (Как email) Все, разобрался )). Большое спасибо вам OCappLab. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
OCappLab Опубликовано: 22 марта 2019 Поделиться Опубликовано: 22 марта 2019 9 часов назад, drmodjo сказал: Все, разобрался )). Большое спасибо вам OCappLab. Не за что Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 года спустя... Mhack Опубликовано: 13 марта Поделиться Опубликовано: 13 марта В 22.03.2019 в 00:25, drmodjo сказав: Все, разобрался )). Большое спасибо вам OCappLab. Здравствуйте, как решили проблему, если помните?))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 1
Mhack Опубликовано: 13 марта Поделиться Опубликовано: 13 марта В 22.03.2019 в 00:25, drmodjo сказав: Все, разобрался )). Большое спасибо вам OCappLab. Здравствуйте, как решили проблему, если помните?))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения