| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Подтверждение по email |
| Автор: R.M. 10.9.2005, 03:20 |
| Вроде всё просто Юзер заполняет форму, форма приходит ему на мыло вместе с ссылкой на подтверждение Юзер щёлкает по ссылке подтверждения и всё ок. Принцип на скока я понял: 1) в базе создаётся строка с генерируемым именем (типа он ожидает регистрацию) 2) Ссылка на неё приходит вместе с формой 3) если юзер заходит по ней строка удаляется При входе идёт проверка на существование такой строки если она есть пишем "вы не подтвердили" заявку, если нету то всё ок Правильно ли я мыслю? |
| Автор: -=Ustas=- 10.9.2005, 04:54 |
| Можно делать по-разному. Можно, например делать добавочное поле в таблице юзеров типа - activate, значения у которого будут соотвественно yes и no. И просто проверять эти значения. |
| Автор: R.M. 10.9.2005, 07:30 |
| -=Ustas=- А на что тогда делать ссылку? |
| Автор: -=Ustas=- 10.9.2005, 08:47 |
| Выводишь какой-нить отдельный блок в структуре программы, где принимаешь эту ссылку, ссылка должна быть сформирована, чтоб в ней было значение этого блока и id-ишник юзера. И всё. Потом проверяешь в БД, в поле activate, если допустим там значение No, то меняешь его Yes и сообщаешь пользователю, что его учетная запись была активирована, если же там уже стоит Yes (может юзера втыкает переходить по этому линку |
| Автор: R.M. 10.9.2005, 09:13 |
| -=Ustas=- Т.е. мне надо rand'ом сгенерировать число например и добавить вначало или в конец id юзера и сделать из этава ссылку или как? |
| Автор: Mal Hack 10.9.2005, 16:06 |
| 1. Сохраняем в БД - код подтверждения. И время. Таймаут - обязателен. К примеру - сутки. 2. ОТправляем код на почту, можно и ссылкой. 3. При клике на ссылку или вводе кода в специальной форме идет проверка этого кода, сохраненного в п.1. 4. Есть есть, замечательно, делаем что надо, к примеру регим окончательно пользователя, нет - значит нет. |
| Автор: R.M. 11.9.2005, 00:13 |
| Непонимаю как сделать чтобы скрипт узнал с каким кодом пришол юзер (без формы), если ссылка например lalala.php?code=rhf893274j8932 то как узнать что это юзер с полем code = rhf893274j8932 |
| Автор: Mal Hack 11.9.2005, 09:24 |
| Куксикус а что $_GET['code'] уже не катит? |
| Автор: -=Ustas=- 11.9.2005, 13:26 |
| Делаешь ссылку к примеру такой: lalalal.php?code=rhf893274j8932&id=635, где id - это id-ишник юзера в базе (ты должен вылавливать его перед отправкой письма), код этот помещаешь допустим в поле activate_code в таблице юзеров. При получении этой строки, выбираешь инфу юзера по его id-ишнику, сверяеш код, и если он совпадает, то активируешь юзера. |
| Автор: R.M. 11.9.2005, 16:10 |
| Mal Hack, -=Ustas=- буду пробывать |
| Автор: R.M. 12.9.2005, 11:29 | ||
Вот мне ещё чтото не справица, сделал я так что при подтверждении в поле code код заменяется на слово confirmed и неполучается мне отличить неверность кода от confirmed
|
| Автор: -=Ustas=- 12.9.2005, 11:40 | ||
А синтаксис и логику соблюдать не пробовал?! Попробуй так:
|
| Автор: DRUG_ADDICT 18.12.2007, 09:27 | ||
| Да да да... вот я тоже самое делаю что R.M., тока зайдя сюда я уже все что написано выше сделал и ссылку сгенерировал и в хеш её превратил и код генерируется, чтоб потом его в форме подтверждения регистрации писать... и это все сделал... Юзер зарегистрировался 15 ($dara_reg) числа, ЕМУ дается 3 дня чтобы он подтвердил регистрацию, то есть конечная дата это 18 число ($end_data):
В итоги у нас есть: 15 - начало регистрации, 18 - собсно конец и X или 31 - это время которое щас ну допустим было бы оно щас Как все составить с помощью конструкции if ( ){ } else { } ? |