Всем привет! Есть сайт, где клиенты указывают номер телефона и не обходится без человеческого фактора. Иногда делают опечатки на 1-2 цифру. Если клиент уже ранее оформлял сделку на этот номер, то соответственно номер есть в базе.
Можно ли как-нибудь силами PHP проверить опечатку? Например, если новый номер отличается только на 1-2 цифры от ранее указанной, то показать предупреждение.
Пока в голове только идея пройтись по каждой цифре и суммировать кол-во отличия. Может есть другие варианты?
Если вы хотите подсказать клиенту, какой телефон он указывал в прошлый раз - просто подставьте его в поле ввода по умолчанию.
А если вы собрались "подсказывать" ему по всей базе телефонов, которые собрали - это скорее слив персональных данных, чем помощь.
Например, у меня с супругой телефоны отличаются последней цифрой. И то, что у вас на сайте уже бывал указан ее номер, может оказаться информацией, которую она мне не хотела бы разглашать.
Adamos, Конечно не все номера, а лишь среди тех, которые были использованы в аккаунте клиента. Также пришел к выводу, что вместо сравнения думаю будет лучше просто показать в виде истории. Конечно в таком случае самый простой способ использовать атрибут autocomplete в поле для ввода номера, но у некоторых людей в настройках браузера отключены параметры автозаполнения, поэтому думаю придется сделать свой вариант с запросом к базе.
rinaz22, виджеты типа jquery autocomplete позволяют использовать готовый список предлагаемых вариантов.
Но, имхо, на жалкий процент отключающих autocomplete в браузере можно просто забить.
Во-первых даже у одного человека могут быть номера, которые отличаются на одну-две цифры, такое может быть в реальности - это не всегда ошибка.
Во-вторых подойдет любая функция сравнения строк, например в пыхе что первое гуглится функция similar_text. Тупо смотришь процент схожести и если он высок - порог определи сам - тупо выдавай предупреждение о возможной опечатке. Можешь наколхозить свой вариант - не возбраняется.
Никак.
Тут только 2 решения:
1. использовать авторизацию пользователя, а потом предлагать уже используемые им телефоны.
2. идентифицировать пользователя по кукам и предлагать телефон.
Разумеется 1 способ надежнее и будет работать на любом устройстве, когда как 2 второй пока пользователь не сотрёт куки.