Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сравнение фамилий
 
 автор: mihdan   (15.02.2009 в 19:11)   письмо автору
 
 

В БД логином служит ФИО человека.
При регистрации человек часто ошибется в одной букве, потом не может из-за этот пройти авторизацию. И начинает клонировать анкеты.

Сделал так: при неправильном логине выводится список похожих фамилий. Тупо разбивал ФИО по пробелам и сравнивал с тем, что в базе. Но вот в чем засада. Если человек ввел "Ивнов", то он не получит анкету товарища "Иванов".

В этом собственно и вопрос, как реализовать

  Ответить  
 
 автор: sim5   (15.02.2009 в 19:17)   письмо автору
 
   для: mihdan   (15.02.2009 в 19:11)
 

Наверное никак, если только не заставлять еще раз проверить и подтвердить, потому как в России "Ивнов", почему бы и не фамилия?

  Ответить  
 
 автор: mihdan   (15.02.2009 в 19:20)   письмо автору
 
   для: sim5   (15.02.2009 в 19:17)
 

Ответ "никак" не устраивает. Потому как реализовать это нужно, был бы алгоритм. Базу менять нельзя. Поэто и обратился за помощью

  Ответить  
 
 автор: sim5   (15.02.2009 в 19:29)   письмо автору
 
   для: mihdan   (15.02.2009 в 19:20)
 

А если у человека и правда фамилия "Ивнов"? Как вы это определите, что это ошибка и дубль, или же новая регистрация?

  Ответить  
 
 автор: Trianon   (15.02.2009 в 19:28)   письмо автору
 
   для: sim5   (15.02.2009 в 19:17)
 

Я как-то читал жалобный опус одного человека, которому в паспорт фамилию с буквой ё записали.
Проблем он на этом огрёб мама не горюй...

  Ответить  
 
 автор: sim5   (15.02.2009 в 19:35)   письмо автору
 
   для: Trianon   (15.02.2009 в 19:28)
 

Пацаном, я был в одном санатории. В одной палате со мной жил такой же как я пацан с фомилией Гуцишан. Он действительно был смугловат и не очень походил на европейца :) И его так замордовали вопросом "Через черточку?", когда он отвечал на вопрос "Как твоя фамилия?" :)

  Ответить  
 
 автор: Trianon   (15.02.2009 в 19:43)   письмо автору
 
   для: sim5   (15.02.2009 в 19:35)
 

Ну.. это несколько из другой оперы. Хотя да, тоже грузит изрядно.
Сергей Лукьяненко в Спектре эту сторону жизни очень хорошо описал.

  Ответить  
 
 автор: sim5   (15.02.2009 в 19:50)   письмо автору
 
   для: Trianon   (15.02.2009 в 19:43)
 

Да это мне просто вспомнилось ;-) А так, ну как решить и проверять по какому-то принципу - "Иванов" и "Ивенов", это ошибка в написании "Иванов" или это действительно "Ивенов"? Ну какие тут нафик алгоритмы могут быть?

  Ответить  
 
 автор: cheops   (15.02.2009 в 19:44)   письмо автору
 
   для: Trianon   (15.02.2009 в 19:28)
 

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

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

  Ответить  
 
 автор: mihdan   (15.02.2009 в 19:55)   письмо автору
 
   для: cheops   (15.02.2009 в 19:44)
 

[поправлено модератором]

  Ответить  
 
 автор: AcidTrash   (15.02.2009 в 20:43)   письмо автору
 
   для: mihdan   (15.02.2009 в 19:55)
 

Короче, как из всего поста понятно, при регистрации клиенту не стоит ошибаться. Вот и все.

  Ответить  
 
 автор: BinLaden   (15.02.2009 в 20:44)   письмо автору
 
   для: AcidTrash   (15.02.2009 в 20:43)
 

[поправлено модератором]

  Ответить  
 
 автор: mihdan   (15.02.2009 в 21:31)   письмо автору
 
   для: BinLaden   (15.02.2009 в 20:44)
 

Вы как обычно в своем стиле. Код был написан 7 лет назад-переделать нет возможности и времени. Да и пользователи-люди за 60. Это в своем роде соцсеть пенсионеров. Слово логин для них дико-поэтому было принято в свое время использовать в качестве логина ФИО. Да и вопрос, собственно, в другом.

  Ответить  
 
 автор: Trianon   (15.02.2009 в 21:36)   письмо автору
 
   для: mihdan   (15.02.2009 в 21:31)
 

У любого пенсионера есть страховой полис и номер на нем.
Собственно, не только у пенсионера. У любого совершеннолетнего вообще, насколько я понимаю..
Или когда там пенсионный фонд полисы выдает? При первом трудоустройстве?

[поправлено модератором]

  Ответить  
 
 автор: mihdan   (15.02.2009 в 21:59)   письмо автору
 
   для: Trianon   (15.02.2009 в 21:36)
 

При чем тут полис? Я же образно говорю "пенсионеры". Не нужно переделок, нужно нечто другое, что я просил в первом посте.

[поправлено модератором]

  Ответить  
 
 автор: Trianon   (15.02.2009 в 22:07)   письмо автору
 
   для: mihdan   (15.02.2009 в 21:59)
 

Вы пишете следующее.
Человек не способен без ошибок ввести свою фамилию, имя, отчество.
Напишите алгоритм, который бы скорректировал введенное.

Поскольку информацию для восстановления взять неоткуда, такой алгоритм Вы не напишете.

  Ответить  
 
 автор: mihdan   (15.02.2009 в 23:09)   письмо автору
 
   для: Trianon   (15.02.2009 в 22:07)
 

Человек 2 - 3 раза вводит имя и пароль, но система его не принимает, он делает вывод, что либо он что-то не так вводит, либо его учетная запись аннулирована, регистрируется повторно.

Вы со spell сталкивались? В исходниках много интересного. Там этот алгоритм решен. Буду пробовать их наработки на СИ

  Ответить  
 
 автор: Trianon   (16.02.2009 в 00:27)   письмо автору
 
   для: mihdan   (15.02.2009 в 23:09)
 

неспроста люди логин выдумали.....

  Ответить  
 
 автор: Trianon   (15.02.2009 в 22:11)   письмо автору
 
   для: mihdan   (15.02.2009 в 21:31)
 

Еще одно соображение.
Дееспособная особь, для которой слово логин звучит дико (допускаю, что такие и вправду есть)
должна знать, как пишется собственное ФИО.
Особь, которая этого не знает, так или иначе в социуме будет под опекунством.

  Ответить  
 
 автор: mihdan   (15.02.2009 в 23:17)   письмо автору
 
   для: Trianon   (15.02.2009 в 22:11)
 

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

>для которой слово логин звучит дико(допускаю, что такие и вправду есть)
Категорически не согласен. Мои родители, например, видят компьютер раз в год - они не понимают слов "браузер", "закладки" ..... то что для вас элементарно для них просто не понятно. Не нужно над этим смеяться. Нужно понять и помочь. А без толку долбить их-результата не даст. Поэтом и прошу придумать более - менее нормальный алгоритм. Но вижу, что навряд ли это получится, так как вы постоянно просите, изменить что-то. Система исправно работает много лет-претензий нет. Все к ней привыкли. Но вот постоянно видеть по 10 клонов анкет каждого человека, извините, напрягает.

  Ответить  
 
 автор: Trianon   (16.02.2009 в 00:24)   письмо автору
 
   для: mihdan   (15.02.2009 в 23:17)
 

так Вам надо придумать методику слияния этих клонов.

С чем Вы не согласны категорически?
Я же сказал. Такие люди вполне себе могут быть.
Более того, их большинство. Но как себя звать, большинство из них помнит.

  Ответить  
 
 автор: AcidTrash   (15.02.2009 в 20:49)   письмо автору
 
   для: AcidTrash   (15.02.2009 в 20:43)
 

Логин это логин и неважно, что используется для логина ФИО, ник или email.
Хотя я бы не стал использовать логин ФИО, так как возможны повторы и другой человек при регистрации набрал такой же логин(свое ФИО), который существует и обломался.

>А еще лучше послать нахуй создателя такой "чудо-системы"
Согласен.

  Ответить  
 
 автор: Trianon   (15.02.2009 в 20:06)   письмо автору
 
   для: cheops   (15.02.2009 в 19:44)
 

Да там проще случай был. Фамилия была то ли "Перепелкин" то ли "Метелкин"
Вон, при покупке авиабилетов, точнее уже при регистрации, допускается аж три ошибки в ФИО, указанном в билете.


Но у mihdan'а ситуация другая. В ФИО такое допустимо, так как полно избыточных данных.
А логин есть логин. Там все символы значащие.

  Ответить  
 
 автор: mihdan   (15.02.2009 в 21:33)   письмо автору
 
   для: Trianon   (15.02.2009 в 20:06)
 

Тут я согласен с вами

  Ответить  
 
 автор: Рома   (16.02.2009 в 02:11)   письмо автору
 
   для: mihdan   (15.02.2009 в 21:33)
 

после нажатия кнопки "Зарегестрироваться" покажите промежуточную страницу, на которой будет написано: еще раз проверьте достоверность введенной информации. и покажите ее шрифтом покрупнее, незнаю, вставьте слово "Внимание! Важно!"

  Ответить  
 
 автор: mihdan   (16.02.2009 в 16:38)   письмо автору
 
   для: Рома   (16.02.2009 в 02:11)
 

Дело не в регистрации. А в действиях после нее. Допустим, я регистрировался под именем "mihdan", но при авторизации на 100% уверен, что я "mihdam". Пять раз авторизуюсь безуспешно и потом иду регистрироваться. Соответственно я клонирую анкету.

  Ответить  
 
 автор: Loki   (16.02.2009 в 16:44)   письмо автору
 
   для: mihdan   (16.02.2009 в 16:38)
 

В таких случаях делают кнопочку "восстановить пароль" и отправляют на указанный email логин и новый пароль.

  Ответить  
 
 автор: sl1p   (16.02.2009 в 18:53)   письмо автору
 
   для: Loki   (16.02.2009 в 16:44)
 

И ещё в таких случаях чтобы получить пароль нужно ввести логин и эмейл, как вы отправите пароль если на мыле, например 10 анкет?
Тут уже зависит от того как и что там :)

[поправлено модератором]

  Ответить  
 
 автор: Рома   (16.02.2009 в 18:57)   письмо автору
 
   для: mihdan   (16.02.2009 в 16:38)
 

так вам тогда нужно выдавать сообщение типа: "Возможно вы имели в виду mihail или mihdan?". и предложите ему похожие варианты

  Ответить  
 
 автор: Loki   (16.02.2009 в 19:37)   письмо автору
 
   для: Рома   (16.02.2009 в 18:57)
 

ну да, а следующим этапом еще выводить пароли на выбор...

  Ответить  
 
 автор: mihdan   (17.02.2009 в 10:38)   письмо автору
 
   для: Рома   (16.02.2009 в 18:57)
 

Так оно и работает, это и прошу привести к нормальному виду.

  Ответить  
 
 автор: ФрекенБок   (18.02.2009 в 22:30)   письмо автору
 
   для: mihdan   (17.02.2009 в 10:38)
 

Не знаю, как у Вас устроена БД, но смысл такой.

Как Вы писали в первом посте, что распарсиваете строку ФИО на 3 части и ищите.
Человек не мог сделать ошибки во всех трех словах, чаще всего в одном.

Если человек при авторизации сразу ввел правильные данные, то естественно сразу его авторизуем.
Если ошибся в фамилии, то ищем все совпадения в имени и отчестве, выводим соответсвующие значения вместе с фамилией, или просто список фамилий.
Тоесть я предлагаю искать не по одному полю, а по трем, и потом уже разбирать то, что получилось.
А вот как это реализовать - ответ прост, построить целую цепочку схем, основываясь на строении БД и т.д... вообщем, без обдумывания здесь не обойтись полюбому..

  Ответить  
 
 автор: mihdan   (18.02.2009 в 23:08)   письмо автору
 
   для: ФрекенБок   (18.02.2009 в 22:30)
 

Вкратце, по такому алгоритму в точности все и работает. Только в результате выдается результат с меньшим числом повторений (менее 20), чтобы не вываливать всю базу на одну страницу

  Ответить  
 
 автор: ФрекенБок   (18.02.2009 в 23:47)   письмо автору
 
   для: mihdan   (18.02.2009 в 23:08)
 

Так значит всё работает почти на максималке, что-то более лучше в данном случае струдно сделать.. просто гораздо проще перелопатить по-новой БД, чем писать интеллектуальную систему распознования..

  Ответить  
 
 автор: Usta   (19.02.2009 в 20:47)   письмо автору
 
   для: ФрекенБок   (18.02.2009 в 23:47)
 

Конечно я послушал вас,вариантов куча. Есть еще вариант. Уникальностью должно быть номер и серия паспорта. При регистрации введите ФИО введите номер и серию паспорта. Если ввелели не правильно ФИО, то ссылка посмотреть логин. введите номер и серию паспорта паспорта. сообщение Ваше ФИО такое....

  Ответить  
 
 автор: mihdan   (20.02.2009 в 10:43)   письмо автору
 
   для: Usta   (19.02.2009 в 20:47)
 

Если у моих пользователей вдруг решит зарегаться внук лет так 10ти, то где же брать его паспортные данные. Да и вообще, затея просто глупая. Сижу я на работе, паспорт дома...

  Ответить  
 
 автор: Usta   (20.02.2009 в 22:43)   письмо автору
 
   для: mihdan   (20.02.2009 в 10:43)
 

>Сижу я на работе, паспорт дома...
А при чем здесь паспорт, паспорт нужен если логин не тот. Ну конечно если вы логин забыли, паспорт дома, то...... Забыли код от пин карты и т.д. Тогда придумайте скрипт, чтоб отпечатки пальцев принимал, тогда уж и пароль не к чему. Для пенсионеров самое оно. Если сайт для пенсионеров какая нафиг работа?? Они, я так понял должны, дома сидеть. А если забыли дома, а голову они не забыли дома. Брехня. Тем более на порталы и другие сайты должны регистрироваться люди с 14 лет. У меня племянник 10 лет, он кроме игр ничего не знает, какой инет, ты о чем!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования