Автор Тема: Подтверждение регистрации  (Прочитано 7263 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Подтверждение регистрации
« : 14 Мая 2003, 19:33:33 »
В данный момент у меня есть следующее:
1 раздел: Регистрация
2 раздел: Вход в раздел
3 раздел: Восстановление пароля.

Клиент регистрируется, вводит свой юзернейм, емайл и пасс и получает подтверждение регистрации со своими данными на указанный емайл. В избежании "левых" регистраций, КАК сделать регистрацию с подтверждением реального емайла? Т.е. Клиент регистрируется, получает на майл ссылку, по которой должен пройти и уже после этого авторизируется и заносится в БД.

Может у кого-то есть пример?
------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Подтверждение регистрации
« Ответ #1 : 14 Мая 2003, 19:55:40 »
мой пример ты все равно не поймешь :D да и постить несколько десятков килобайт кода не рекомендуется.
Что именно не понятно и с какими єтапами проблемы?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Подтверждение регистрации
« Ответ #2 : 14 Мая 2003, 20:55:47 »
Как уже сказал Макс, код будет слишком объемным, поэтому опишу базовый алгоритм:
1. После первой части регистрации (юзер заполнил форму регистрации), ты генерируешь случайных код активации и записываешь в базу данных или в отдельный файл логин юзера и его код активации.
2. Присылаешь юзеру на мейл письмо со ссылкой типа http://www.mysupersite.com/registration_confirm.php?username=Vasya_Pupkin&activation_code=IxPvJzAqCm9E5e
3. Юзер щелкает по ссылке, попадает на страницу активации. Твой скрипт ищет в базе данных логин юзера и смотрит, какой код активации с ним ассоциирован. Если переменная $_GET[\'activation_code\'] совпадает с кодом активации из базы - e-mail юзера настоящий. Регистрация завершена.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Подтверждение регистрации
« Ответ #3 : 14 Мая 2003, 21:54:06 »
Можно и проще, просто генерить пароль и отсылать его на мыло указанное при регистрации, если юзер захочет потом сам поменяет пароль..
Мне тормоз послужил толчком...

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Подтверждение регистрации
« Ответ #4 : 14 Мая 2003, 22:04:08 »
Просто myname говорил о способе "получения на мейл ссылки", вот я его алгоритм и привел. А с паролем конечно проще :)
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Подтверждение регистрации
« Ответ #5 : 14 Мая 2003, 23:16:42 »
Не, ребята. Моих знаний пхп не хватит чтобы такое написать. Вроде всё ясно и понятно, но, думаю, что сталкнусь с массой вопросов, которые тут, наверное, будут не уместны. Буду очень благодарен, если кто-то из вас сможет поделиться кодом и, если у меня возникнут вопросы - помочь с ними разобраться.

Может правда легче с регенерацией паролей, но и тут для меня дебри. Очень прошу помощи, при возможности отблагодарю как смогу.

myname@siteks.lv
ICQ: 7165779
------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Подтверждение регистрации
« Ответ #6 : 14 Мая 2003, 23:34:43 »
myname
Кликнул тебя в асе.
Чем смогу - помогу.
Но скрипт за тебя писать не буду, у меня на это нет времени, да и не научишься ты тогда вообще.
Дам тебе базу знаний, буду отвечать на вопросы и давать подсказки, но на многое не рассчитывай - у меня сессия идёт.
Дальше общаемся через асю/мейл/ПС.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Подтверждение регистрации
« Ответ #7 : 15 Мая 2003, 09:10:58 »
я фигею, клава...
какие несколько килобайт кода???
какая регенерация паролей???
вы о чем????

зачем вы человека запугали???


каких тебе еще знаний не хватит?
где у тебя зарегистрированные лежат - в базе или в файлах?
скоре всего - в файлах.
ну что - трудно писать при регистрации не в основной файл, а в дополнительный, + генерить случайное число???
потом запустить команду mail, к которой есть миллион примеров, даже в мане, и вставить в нее коротенький текстик - это тебе трудно?

а в скрипте регистрации добавить один пунктик - если пришел код активации, то достать данные из доп файла по этому коду, стереть оттуда, и записать в основной???

Какин несколько килобайт???
тут десяти строчек в сумме не наберется!!!

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

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Подтверждение регистрации
« Ответ #8 : 15 Мая 2003, 09:14:46 »
Цитировать
но, думаю, что сталкнусь с массой вопросов, которые тут, наверное, будут не уместны

что уместно, а что - нет, будет решать модератор.
Если вопросы по программированию, то они всегда уместны.

вообще-то форум как раз для таких вопросов, которые ты стесняешься задавать. а не для попрошайничанья и поисков готового решения и доброхотов

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

НИЧЕМ.

Значит, кто-то за тебя сделал эти части, тебе понравилось на халявку, и ты опять пришел попрошайничать - так?
« Последнее редактирование: 15 Мая 2003, 11:10:51 от RomikChef »

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Подтверждение регистрации
« Ответ #9 : 15 Мая 2003, 11:53:26 »
Цитировать
Скажи-ка мне, дружок, ты сам написал свои регистрацию, вход в разделы, восстановление пароля?
похоже, что нет.
потому, что чем принципиально отличается высылка пароля на мейл, от высылки ссылки?

НИЧЕМ.

Значит, кто-то за тебя сделал эти части, тебе понравилось на халявку, и ты опять пришел попрошайничать - так?


Отвечаю.
Когда я задумал это написать, я кинул сюда пост с вопросом о помощи и выложил совй первый написанный код, который не совсем хотел функционировать и именно с твоей помощью он заработал. Что касается теперешней работы кода, то да - всё остальное писал именно я, основываясь на определённые примеры и советы. Я скрестил код регистрации с кодом рассылки и сейчас идёт такая система:
есть форма регистрации, человек вводит данные в форму регистрации, регистрируется и получает подтверждение себе на указанный майл. Скрыто его емайл заносится в датфайл рассылки + данные пишутся в БД.

Всем нравится халява, но здесь другой случай. Я не напрашиваюсь на халяву - я прошу о помощи, это две разные вещи, которые не следует путать. Я не знаю английского, но мне нравится кавыряться в пхп и по возможности я читаю литературу на русском. Переводчиком пробовал пользоваться, но то, что он переводит - для меня полнейшие дебри и ввод в заблуждение. Так, что даже элементарный мануал для меня далёк.
------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Подтверждение регистрации
« Ответ #10 : 15 Мая 2003, 12:03:24 »
короче.
что тебе не ясно?

ты высылку пароля делаешь?
вместо пароля можешь послать такую строку
http://tvoi.sait/confirm.php?code=blabla ?
какие трудности?

написать конфирм.пхп, который берет код, достает по нему инфу из временного файла, и записывает в основной? какая здесь проблема?

ты просишь о помощи, но ничего еще не спросил.
Давно бы уже начал делать, и столкнувшись с трудностями - реальными, и на воображаемыми - давно бы задал конкретные вопросы.

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

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Подтверждение регистрации
« Ответ #11 : 15 Мая 2003, 12:42:34 »
Цитировать
ты высылку пароля делаешь?
вместо пароля можешь послать такую строку
http://tvoi.sait/confirm.php?code=blabla ?
какие трудности?

Никаких.

Цитировать
написать конфирм.пхп, который берет код, достает по нему инфу из временного файла, и записывает в основной? какая здесь проблема?

Я не знаю как это сделать.Даже начать не понимаю с чего надо.
------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Подтверждение регистрации
« Ответ #12 : 15 Мая 2003, 13:04:32 »
судя по всему, регистрация у тебя хранится в базе?
я это сейчас раскопал в поиске.
почему я должен это искать?
почему ты не можешь это сам сказать - я же спрашивал?

с базой совсем просто.
скрипт конфирм состоит из одной строчки.

скрипт регистрации увеличивается на одну строчку, плюс в проверке входа в запрос добавляется один параметр.
все.

но пусть тебе помогают эти любители килобайт кода, потому, что ты даже тому, кто тебе помогает, не хочешь помочь.

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Подтверждение регистрации
« Ответ #13 : 15 Мая 2003, 13:37:00 »
Я хочу помочь и готов предоставить всё, что у меня имеется. Насчёт что куда записывается я уже писал выше:
Цитировать
Скрыто его емайл заносится в датфайл рассылки + данные пишутся в БД.


Вообщем упустим скрипт рассылки и возьмём просто скрипт регистрации. Я не смогу объяснить на проф языке как и что - только своими словами суть. Ещё раз. Регистрация записывается в базу данных, я предпочитаю БД датфайлу, хотя может это и не правильно. Скрипт регистрации выглядит так:

//проверяем правильность заполнения емайла
//выводим ошибки
//проверяем наличие уже зарегистрированного пользователя
//проверяем наличие уже зарегистрированного емайла
//если пользователь прошёл проверки, записываем его данные в рассылку
//отпарвляем данные сразу на емайл зарегистрированному юзеру
//выводим страничку со спасибом.
------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Подтверждение регистрации
« Ответ #14 : 15 Мая 2003, 14:22:42 »
//если пользователь прошёл проверки, записываем его данные в рассылку, но добавляем одно поле, которое показывает, что пользователь не проверен. добавить одно поле для тебя большая проблема?
в это поле добавляем переменную
$uniqid=uniqid("");
в рассылку, в запрос, который ее делает, добавляем условие where active=1
это для тебя сложно сделать?
//отпарвляем на емайл юзеру письмо со строчкой, в которой указывается, $uniqid . ты писал, что это тебе нетрудно
//пишем скрипт конфирм.пхп, который состоит из одного-единственного запроса
"update table set active=1 where active=\'".$_GET[\'code\']."\'";
и все.
ни килобайт кода
ниего такого, что ты сам не мог бы сдалеть.
что тебе еще непонятно?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28