|
|
|
| Здравствуйте, подскажите
Вот делаю магазин, у меня есть два варианта при совершении заказа (нажатии на кнопку заказать):
первый - когда человек авторизован, и когда нет,
В любых случаях заказы как от анонима, так и зарегистрированного пользователя заносятся в табличку, только в с случае с регистрированным записывается его уникальный номер, а когда аноним, допустим 0.
Так вот, как узнать, что это тот же аноним, если тот же, то предложить регистрацию, если отказался, при следующей работы системы удалить не автоматизированный заказ.
Думаю сделать отдельный столбец в заказах для анонимов ))) и если session_id() равен тому что записалось в табличку, то регистрируем авторизированный заказ.
Рационально ли так, спасибо | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 11:54)
| | А у вас заказ, а потом регистрация? И почему это регистрация должна быть одновременно с заказом проходить, и что по вашему регистрация? Что значит тот же аноним, спустя пару часов, например? | |
|
|
|
|
|
|
|
для: sim5
(17.07.2009 в 12:01)
| | Два варианта, можно сначала регистрация, потом заказ и наоборот.
Можно поназаказывать, а потом, когда заходит аноним в личный кабинет, ему придется зарегистрироваться
Регистрация - это авторизация и затем оформление заказа, может происходить в разное время
через пару часов это уже другой аноним, в пределах одной сессии | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 12:05)
| | Не наоборот, а регистрация это одно, а заказ товара это совсем другое. У анонима личный кабинет?! А что тогда такое аноним - это зарегистрированный пользователь, но на 50%? | |
|
|
|
|
|
|
|
для: sim5
(17.07.2009 в 12:17)
| | А вот такая ситуация, аноним поназаказывал себе, пошел зарегистрироваться, а заказы то пропали, и ему все сначала.
Идея в том, что сначала он заказ, потом, заргестрировался, если ему это надо. Так будет удобней для анонимов, желающих заказать
Пока аноним не зарегался, он на 0 процентов может заказать заказ, просто в базе на его сессию будут болтатся заказы
В моей задумке такая реализация нормальна?, а именно сделать отдельный столбец | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 12:28)
| | А вот такая ситуация - я зарегистрированный пользователь, поназаказал товаров, а они мне нафик не нужны. Вы меня може удалить, я опять зарегистрируюсь, пусть даже через задницу как у вас, опять закажу, и опять ради шутки. Как такое?
Полная чушь ваша идея. Сессия может прерваться не потому, что я злостный аноним, а потому, что при регистрации меня отвлек звонок телефонный.... Да мне легче вас обматерить, чем опять делать заказ и потом регистрироваться еще. | |
|
|
|
|
|
|
|
для: sim5
(17.07.2009 в 12:36)
| | Ну такую идею видел я в одном магазине, могу скинуть куда-нить в личку, если есть
То-есть Вы предлагаете сначала регаться, а потом заказывать?, тоесть не давать возможности заказывать, пока не зарегался?
<А вот такая ситуация - я зарегистрированный пользователь, поназаказал товаров, а они мне нафик не нужны. Вы меня може удалить, я опять зарегистрируюсь, пусть даже через задницу как у вас, опять закажу, и опять ради шутки. Как такое?>
Зачем удалить? ну и пусть сидит до срока давности, а как же в других магазинах да и наэ том форуме, понарегуются тут всякие, ради шутки, аналогичная ситуация, на то и модератор и администратор
<Полная чушь ваша идея. Сессия может прерваться не потому, что я злостный аноним, а потому, что при регистрации меня отвлек звонок телефонный.... Да мне легче вас обматерить, чем опять делать заказ и потом регистрироваться еще.>
Ну и прервалась сессия, он же должен понимать что аноним
И кстати, я не спорю, а прошу совета, как лучше сделать | |
|
|
|
|
|
|
|
для: sim5
(17.07.2009 в 12:36)
| | На самом деле, я не понимаю чего Вы взъелись.
Я делал заказы в магазинах с такой политикой, и это вполне удобно.
И (при разумной реализации) никак не противоречит логике работы скриптов.
Примером может служить ulmart (бывший ultra computers).
Неясно, правда, зачем такой недооформленный заказ держать в таблице.
Пусть живет в сессии или (даже лучше) в кукисах.
Влиять на остатки он по идее не должен. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2009 в 12:50)
| | Спасибо Trianon , Вы всегда меня выыручали
<Неясно, правда, зачем такой недооформленный заказ держать в таблице.>
а он удаляется при следующей раюботе системе, подскажите, технический способ, со столбцом, я правильно выбрал | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 12:53)
| | ><Неясно, правда, зачем такой недооформленный заказ держать в таблице.>
>а он удаляется при следующей раюботе системе,
неясно, зачем его туда было добавлять на ранней стадии, а не как удалять если чо не срослось.
>подскажите, технический способ, со столбцом, я правильно выбрал
Можете попробовать и так, со столбцом.
На мой взгляд, правда, глюков такое решение может лишь добавить. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2009 в 13:12)
| | А как узнать, что это именно та же сессия и тот же аноним. Я предполагаю сравнением всех заказов, которые сделал аноним с его уникальным номером/сессией
Вот что придумал:
$id_anonim = ''. session_id();
$_SESSION[$id_anonim][$номер товара] = переменная;
$_SESSION[$id_anonim][$количество товара] = переменная;
так можно? | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 13:14)
| | $_SESSION['goods'][$номер товара] = $количество_товара;
Сессия уже привязана к своему идентификатору.
>А как узнать, что это именно та же сессия и тот же аноним.
Аноним не бывает тот или другой.
У каждого клиента сессия - своя собственная. Кончайте тормозить на ровном месте. | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 13:14)
| | так нельзя.
у вас переменные $номер товара и $количество товара могут быть одинаковые. вы просто перезапишете.
и что-то я не могу понять: если вы хотите хранить "временные" заказы в БД, то, как я понимаю, вам кроме как session_id() больше ничего не надо.
зачем вам эти массивы?
___________________
не увидел сообщение Trianona.
тогда вам наоборот session_id() не нужен. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2009 в 12:50)
| | Удобно, это когда удобно покупателю. Что бы вы там не выдумывали, в интернет торговле всегда будет риск невыкупленных заказов, при чем не важно, зарегистрированный или нет покупатель, и не потому, что он шутник, просто так сложились обстоятельства. Спасение от невыкупленного заказа может быть только одно - предоплата.
Покупателя надо привлекать сервисом, а значит для регистрированных покупателей могут быть бонусы накопительные, скидки и прочее. Сбрасывать со счетов нерегистрованных покупателей тоже глупость - может ему и надо только раз купить у вас, но купить реально, без всяких заморочек.
Автор просто не торговал в сети, и не знает, что возврат товара уже высланный по заказу, это не такая уж редкость, и то что он выдумывает, так это козни скорее всего направленные против него самого. | |
|
|
|
|
|
|
|
для: sim5
(17.07.2009 в 13:00)
| | Уважаемые друзья, просто подскажите, при таком раскладе реализация нормальна, а то время поджимает | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 12:28)
| | >а заказы то пропали
а почему они пропали? | |
|
|
|
|
|
|
|
для: Loki
(17.07.2009 в 12:37)
| | ну если не обеспечить запись его сессии в стобец заказов, а потом при регестрации в пределах одной сессии сравнить текущую сессию с той записью в таблице | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 12:44)
| | Так заказ в таблицу надо переносить уже после его оформления. До тех пор - хранить в сессии. | |
|
|
|
|
|
|
|
для: Loki
(17.07.2009 в 13:02)
| | А как узнать, что это именно та же сессия и тот же аноним. Я предполагаю сравнением всех заказов, которые сделал аноним с его уникальным номером/сессией, | |
|
|
|
|
|
|
|
для: Артем125
(17.07.2009 в 13:06)
| | Толи Вы себе не представляете как работает сессия, толи я не понимаю вопроса. Очевидно что владелец сессии определяется по тому, знает ли он ее номер. | |
|
|
|
|
|
|
|
для: Loki
(17.07.2009 в 13:37)
| | Пока не очень представляю, но Trianon мне уже ответил, за что ему и Вам респект и уважение | |
|
|
|