Как сделать платную регистрацию?

Статус
В этой теме нельзя размещать новые ответы.

bvb

Мастер
Регистрация
17 Май 2009
Сообщения
189
Реакции
31
Хочу сделать такую регистрацию: состоит двух этапов, на первом вводим рег. данные на втором предлагаем оплатить, после успешной оплаты завершаем регистрацию(запись в БД, отправка письма). Проблема в том, где хранить рег. данные, пока происходит оплата. Что посоветуете?
 
  • Заблокирован
  • #2
Так можно, допустим, отправить на мыло какую-нибудь ссылку со сгенерированным числом.
И записывать при нажатии в сессию.
 
Проблема в том, где хранить рег. данные, пока происходит оплата. Что посоветуете?

ИМхо делай регистрацию бесплатную но отключай весь функционал до внесения оплаты ....
данные храни в той же таблице где и обычные проплаченные юзеры лишь добавь булевский ( или перечисление) признак оплачено / не оплачено ....

таким макаром юзер сможет зарегаться а чуть позже внести оплату и начать работать.... ну а его введенные регистрационные данные сохраняться .... имхо для юзера так будет удобней ( хотя это еще зависит от назначения ресурса )
========

ну или храни в другой таблице а после внесения оплаты переноси все данные из таблицы непроплаченные_юзеры в таблицу проплаченные_юзеры
 
  • Нравится
Реакции: bvb
Digwnews
Я не понял, что вы имеете в виду. Просто записать все данные в сессию?
chang
Такой ход я рассматривал, но есть причины по которым он не совсем подходит

Есть еще варианты?
 
Digwnews
Я не понял, что вы имеете в виду. Просто записать все данные в сессию?
chang
Такой ход я рассматривал, но есть причины по которым он не совсем подходит
Есть еще варианты?

Да блин, какие тут могут быть варианты? Если хочешь, чтоб не проебалась инфа, которую юзер вводил в формочку - значит надо эту инфу где-то у себя хранить, логично? Тебе предлагают хранить в базе. А поскольку инфа эта точь-в-точь повторяет юзерские аккаунты, то и хранить ее логично в той же таблице users / members. Не хочешь хранить ее там - заведи отдельную табличку nedousers / nedomembers, и потом при оплате оттуда копируй в основную. Не хочешь базу - сохраняй в файл. Письмом еще можешь отправлять, а при оплате по pop3 из этого письма обратно считывать. Вариантов масса на самом деле, но chang предложил самый простой.
 
А что насчет сессий?
 
сессия а что оплата идет долго=)
или я закрыл браузер
самый оптимальный с СуБД, если хорчется сессию то ее тоже хранить в СуБД в сериализованном виде но зачем...
 
  • Нравится
Реакции: bvb
А что насчет сессий?

Открою небольшой секрет, "сессия" хранится в файле на диске. Можно настроить, чтоб хранилась в базе данных. И да, можно настроить, чтоб хранилась хоть год (по умолчанию - 15 минут). Но все равно надежнее самому.

PS: Еще можно не хранить у себя, а запихнуть всю инфу юзеру в куку. Тоже в принципе вариант, тоже немного "каличный". Как ни крути, а то, что предложил chang - самое лучшее.
 
  • Заблокирован
  • #9
В общем хранить данные пока что можно только в трёх видах:
1. В БД
2. В файлах
3. У юзера в куках.
Выбор за вами.

Или я не прав?
 
Хорошо, с этим разобрались. Теперь такой вопрос: когда юзер оплачивает регистрацию, платежной системе нужно отправить уникальный номер транзакции, для этого планирую использовать id последнего заказа + 1 - как правильно его получить? С помощью LAST_INSERT_ID() или SELECT id FROM `имя_таблицы` ORDER BY id DESC limit 1?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху