Forum Webscript.Ru

Программирование => PHP => Тема начата: myname от 14 Мая 2003, 19:33:33

Название: Подтверждение регистрации
Отправлено: myname от 14 Мая 2003, 19:33:33
В данный момент у меня есть следующее:
1 раздел: Регистрация
2 раздел: Вход в раздел
3 раздел: Восстановление пароля.

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

Может у кого-то есть пример?
Название: Подтверждение регистрации
Отправлено: Макс от 14 Мая 2003, 19:55:40
мой пример ты все равно не поймешь :D да и постить несколько десятков килобайт кода не рекомендуется.
Что именно не понятно и с какими єтапами проблемы?
Название: Подтверждение регистрации
Отправлено: FreeSpace от 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 от 14 Мая 2003, 21:54:06
Можно и проще, просто генерить пароль и отсылать его на мыло указанное при регистрации, если юзер захочет потом сам поменяет пароль..
Название: Подтверждение регистрации
Отправлено: FreeSpace от 14 Мая 2003, 22:04:08
Просто myname говорил о способе "получения на мейл ссылки", вот я его алгоритм и привел. А с паролем конечно проще :)
Название: Подтверждение регистрации
Отправлено: myname от 14 Мая 2003, 23:16:42
Не, ребята. Моих знаний пхп не хватит чтобы такое написать. Вроде всё ясно и понятно, но, думаю, что сталкнусь с массой вопросов, которые тут, наверное, будут не уместны. Буду очень благодарен, если кто-то из вас сможет поделиться кодом и, если у меня возникнут вопросы - помочь с ними разобраться.

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

myname@siteks.lv
ICQ: 7165779
Название: Подтверждение регистрации
Отправлено: FreeSpace от 14 Мая 2003, 23:34:43
myname
Кликнул тебя в асе.
Чем смогу - помогу.
Но скрипт за тебя писать не буду, у меня на это нет времени, да и не научишься ты тогда вообще.
Дам тебе базу знаний, буду отвечать на вопросы и давать подсказки, но на многое не рассчитывай - у меня сессия идёт.
Дальше общаемся через асю/мейл/ПС.
Название: Подтверждение регистрации
Отправлено: Меняздесьдавнонет от 15 Мая 2003, 09:10:58
я фигею, клава...
какие несколько килобайт кода???
какая регенерация паролей???
вы о чем????

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


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

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

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

Вы, это, граждане.
Не умеете сами писать - других-то хоть с толку не сбивайте.
я представляю, что этот "специалист" ему по аське насоветует...
Название: Подтверждение регистрации
Отправлено: Меняздесьдавнонет от 15 Мая 2003, 09:14:46
Цитировать
но, думаю, что сталкнусь с массой вопросов, которые тут, наверное, будут не уместны

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

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

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

НИЧЕМ.

Значит, кто-то за тебя сделал эти части, тебе понравилось на халявку, и ты опять пришел попрошайничать - так?
Название: Подтверждение регистрации
Отправлено: myname от 15 Мая 2003, 11:53:26
Цитировать
Скажи-ка мне, дружок, ты сам написал свои регистрацию, вход в разделы, восстановление пароля?
похоже, что нет.
потому, что чем принципиально отличается высылка пароля на мейл, от высылки ссылки?

НИЧЕМ.

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


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

Всем нравится халява, но здесь другой случай. Я не напрашиваюсь на халяву - я прошу о помощи, это две разные вещи, которые не следует путать. Я не знаю английского, но мне нравится кавыряться в пхп и по возможности я читаю литературу на русском. Переводчиком пробовал пользоваться, но то, что он переводит - для меня полнейшие дебри и ввод в заблуждение. Так, что даже элементарный мануал для меня далёк.
Название: Подтверждение регистрации
Отправлено: Меняздесьдавнонет от 15 Мая 2003, 12:03:24
короче.
что тебе не ясно?

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

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

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

вот и сейчас ты написал кучу беллетристики, вместо того, чтьобы делом заняться.
Название: Подтверждение регистрации
Отправлено: myname от 15 Мая 2003, 12:42:34
Цитировать
ты высылку пароля делаешь?
вместо пароля можешь послать такую строку
http://tvoi.sait/confirm.php?code=blabla ?
какие трудности?

Никаких.

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

Я не знаю как это сделать.Даже начать не понимаю с чего надо.
Название: Подтверждение регистрации
Отправлено: Меняздесьдавнонет от 15 Мая 2003, 13:04:32
судя по всему, регистрация у тебя хранится в базе?
я это сейчас раскопал в поиске.
почему я должен это искать?
почему ты не можешь это сам сказать - я же спрашивал?

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

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

но пусть тебе помогают эти любители килобайт кода, потому, что ты даже тому, кто тебе помогает, не хочешь помочь.
Название: Подтверждение регистрации
Отправлено: myname от 15 Мая 2003, 13:37:00
Я хочу помочь и готов предоставить всё, что у меня имеется. Насчёт что куда записывается я уже писал выше:
Цитировать
Скрыто его емайл заносится в датфайл рассылки + данные пишутся в БД.


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

//проверяем правильность заполнения емайла
//выводим ошибки
//проверяем наличие уже зарегистрированного пользователя
//проверяем наличие уже зарегистрированного емайла
//если пользователь прошёл проверки, записываем его данные в рассылку
//отпарвляем данные сразу на емайл зарегистрированному юзеру
//выводим страничку со спасибом.
Название: Подтверждение регистрации
Отправлено: Меняздесьдавнонет от 15 Мая 2003, 14:22:42
//если пользователь прошёл проверки, записываем его данные в рассылку, но добавляем одно поле, которое показывает, что пользователь не проверен. добавить одно поле для тебя большая проблема?
в это поле добавляем переменную
$uniqid=uniqid("");
в рассылку, в запрос, который ее делает, добавляем условие where active=1
это для тебя сложно сделать?
//отпарвляем на емайл юзеру письмо со строчкой, в которой указывается, $uniqid . ты писал, что это тебе нетрудно
//пишем скрипт конфирм.пхп, который состоит из одного-единственного запроса
"update table set active=1 where active=\'".$_GET[\'code\']."\'";
и все.
ни килобайт кода
ниего такого, что ты сам не мог бы сдалеть.
что тебе еще непонятно?
Название: Подтверждение регистрации
Отправлено: myname от 15 Мая 2003, 19:19:05
Не понятно какое именно поле,
Цитировать
которое показывает, что пользователь не проверен
Название: Подтверждение регистрации
Отправлено: FreeSpace от 15 Мая 2003, 19:49:42
myname
Насколько я понимаю, RomikChef говорит, что тебе нужно добавить в конец таблицы БД с юзверями ещё одно поле. Вот, к примеру, у тебя была таблица: id, username, password, email, registration_date
А ты добавляешь ещё одно поле и получается id, username, password, email, registration_date, active
Active == 0, когда пользователь только зарегистрировался и ещё не ввел свой код (не щелкнул по ссылке в письме) и Active == 1, когда уже активировался.

RomikChef
На самом деле, ты полностью прав по поводу того, что код этот занимать будет всего пару строк. Просто я уже собрался свой генератор кодов активации писать, добавить сюда же возможность "устаревания" ключей (хотя это тоже всего пара строк кода + колонка в БД), систему повторной отправки кодов и т.д...