Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Идентификатор сессии
 
 автор: Артем125   (17.07.2009 в 11:54)   письмо автору
 
 

Здравствуйте, подскажите

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

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

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

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

Рационально ли так, спасибо

  Ответить  
 
 автор: sim5   (17.07.2009 в 12:01)   письмо автору
 
   для: Артем125   (17.07.2009 в 11:54)
 

А у вас заказ, а потом регистрация? И почему это регистрация должна быть одновременно с заказом проходить, и что по вашему регистрация? Что значит тот же аноним, спустя пару часов, например?

  Ответить  
 
 автор: Артем125   (17.07.2009 в 12:05)   письмо автору
 
   для: sim5   (17.07.2009 в 12:01)
 

Два варианта, можно сначала регистрация, потом заказ и наоборот.

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

Регистрация - это авторизация и затем оформление заказа, может происходить в разное время

через пару часов это уже другой аноним, в пределах одной сессии

  Ответить  
 
 автор: sim5   (17.07.2009 в 12:17)   письмо автору
 
   для: Артем125   (17.07.2009 в 12:05)
 

Не наоборот, а регистрация это одно, а заказ товара это совсем другое. У анонима личный кабинет?! А что тогда такое аноним - это зарегистрированный пользователь, но на 50%?

  Ответить  
 
 автор: Артем125   (17.07.2009 в 12:28)   письмо автору
 
   для: sim5   (17.07.2009 в 12:17)
 

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

Идея в том, что сначала он заказ, потом, заргестрировался, если ему это надо. Так будет удобней для анонимов, желающих заказать

Пока аноним не зарегался, он на 0 процентов может заказать заказ, просто в базе на его сессию будут болтатся заказы

В моей задумке такая реализация нормальна?, а именно сделать отдельный столбец

  Ответить  
 
 автор: sim5   (17.07.2009 в 12:36)   письмо автору
 
   для: Артем125   (17.07.2009 в 12:28)
 

А вот такая ситуация - я зарегистрированный пользователь, поназаказал товаров, а они мне нафик не нужны. Вы меня може удалить, я опять зарегистрируюсь, пусть даже через задницу как у вас, опять закажу, и опять ради шутки. Как такое?
Полная чушь ваша идея. Сессия может прерваться не потому, что я злостный аноним, а потому, что при регистрации меня отвлек звонок телефонный.... Да мне легче вас обматерить, чем опять делать заказ и потом регистрироваться еще.

  Ответить  
 
 автор: Артем125   (17.07.2009 в 12:39)   письмо автору
 
   для: sim5   (17.07.2009 в 12:36)
 

Ну такую идею видел я в одном магазине, могу скинуть куда-нить в личку, если есть

То-есть Вы предлагаете сначала регаться, а потом заказывать?, тоесть не давать возможности заказывать, пока не зарегался?

<А вот такая ситуация - я зарегистрированный пользователь, поназаказал товаров, а они мне нафик не нужны. Вы меня може удалить, я опять зарегистрируюсь, пусть даже через задницу как у вас, опять закажу, и опять ради шутки. Как такое?>

Зачем удалить? ну и пусть сидит до срока давности, а как же в других магазинах да и наэ том форуме, понарегуются тут всякие, ради шутки, аналогичная ситуация, на то и модератор и администратор


<Полная чушь ваша идея. Сессия может прерваться не потому, что я злостный аноним, а потому, что при регистрации меня отвлек звонок телефонный.... Да мне легче вас обматерить, чем опять делать заказ и потом регистрироваться еще.>

Ну и прервалась сессия, он же должен понимать что аноним

И кстати, я не спорю, а прошу совета, как лучше сделать

  Ответить  
 
 автор: Trianon   (17.07.2009 в 12:50)   письмо автору
 
   для: sim5   (17.07.2009 в 12:36)
 

На самом деле, я не понимаю чего Вы взъелись.
Я делал заказы в магазинах с такой политикой, и это вполне удобно.
И (при разумной реализации) никак не противоречит логике работы скриптов.
Примером может служить ulmart (бывший ultra computers).

Неясно, правда, зачем такой недооформленный заказ держать в таблице.
Пусть живет в сессии или (даже лучше) в кукисах.
Влиять на остатки он по идее не должен.

  Ответить  
 
 автор: Артем125   (17.07.2009 в 12:53)   письмо автору
 
   для: Trianon   (17.07.2009 в 12:50)
 

Спасибо Trianon , Вы всегда меня выыручали

<Неясно, правда, зачем такой недооформленный заказ держать в таблице.>
а он удаляется при следующей раюботе системе, подскажите, технический способ, со столбцом, я правильно выбрал

  Ответить  
 
 автор: Trianon   (17.07.2009 в 13:12)   письмо автору
 
   для: Артем125   (17.07.2009 в 12:53)
 

><Неясно, правда, зачем такой недооформленный заказ держать в таблице.>
>а он удаляется при следующей раюботе системе,

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

>подскажите, технический способ, со столбцом, я правильно выбрал

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

  Ответить  
 
 автор: Артем125   (17.07.2009 в 13:14)   письмо автору
 
   для: Trianon   (17.07.2009 в 13:12)
 

А как узнать, что это именно та же сессия и тот же аноним. Я предполагаю сравнением всех заказов, которые сделал аноним с его уникальным номером/сессией


Вот что придумал:
$id_anonim = ''. session_id();

$_SESSION[$id_anonim][$номер товара] = переменная;
$_SESSION[$id_anonim][$количество товара] = переменная;

так можно?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 13:26)   письмо автору
 
   для: Артем125   (17.07.2009 в 13:14)
 

$_SESSION['goods'][$номер товара] = $количество_товара;

Сессия уже привязана к своему идентификатору.

>А как узнать, что это именно та же сессия и тот же аноним.
Аноним не бывает тот или другой.
У каждого клиента сессия - своя собственная. Кончайте тормозить на ровном месте.

  Ответить  
 
 автор: ride   (17.07.2009 в 13:38)   письмо автору
 
   для: Артем125   (17.07.2009 в 13:14)
 

так нельзя.
у вас переменные $номер товара и $количество товара могут быть одинаковые. вы просто перезапишете.
и что-то я не могу понять: если вы хотите хранить "временные" заказы в БД, то, как я понимаю, вам кроме как session_id() больше ничего не надо.
зачем вам эти массивы?
___________________
не увидел сообщение Trianona.
тогда вам наоборот session_id() не нужен.

  Ответить  
 
 автор: sim5   (17.07.2009 в 13:00)   письмо автору
 
   для: Trianon   (17.07.2009 в 12:50)
 

Удобно, это когда удобно покупателю. Что бы вы там не выдумывали, в интернет торговле всегда будет риск невыкупленных заказов, при чем не важно, зарегистрированный или нет покупатель, и не потому, что он шутник, просто так сложились обстоятельства. Спасение от невыкупленного заказа может быть только одно - предоплата.
Покупателя надо привлекать сервисом, а значит для регистрированных покупателей могут быть бонусы накопительные, скидки и прочее. Сбрасывать со счетов нерегистрованных покупателей тоже глупость - может ему и надо только раз купить у вас, но купить реально, без всяких заморочек.
Автор просто не торговал в сети, и не знает, что возврат товара уже высланный по заказу, это не такая уж редкость, и то что он выдумывает, так это козни скорее всего направленные против него самого.

  Ответить  
 
 автор: Артем125   (17.07.2009 в 13:03)   письмо автору
 
   для: sim5   (17.07.2009 в 13:00)
 

Уважаемые друзья, просто подскажите, при таком раскладе реализация нормальна, а то время поджимает

  Ответить  
 
 автор: Loki   (17.07.2009 в 12:37)   письмо автору
 
   для: Артем125   (17.07.2009 в 12:28)
 

>а заказы то пропали
а почему они пропали?

  Ответить  
 
 автор: Артем125   (17.07.2009 в 12:44)   письмо автору
 
   для: Loki   (17.07.2009 в 12:37)
 

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

  Ответить  
 
 автор: Loki   (17.07.2009 в 13:02)   письмо автору
 
   для: Артем125   (17.07.2009 в 12:44)
 

Так заказ в таблицу надо переносить уже после его оформления. До тех пор - хранить в сессии.

  Ответить  
 
 автор: Артем125   (17.07.2009 в 13:06)   письмо автору
 
   для: Loki   (17.07.2009 в 13:02)
 

А как узнать, что это именно та же сессия и тот же аноним. Я предполагаю сравнением всех заказов, которые сделал аноним с его уникальным номером/сессией,

  Ответить  
 
 автор: Loki   (17.07.2009 в 13:37)   письмо автору
 
   для: Артем125   (17.07.2009 в 13:06)
 

Толи Вы себе не представляете как работает сессия, толи я не понимаю вопроса. Очевидно что владелец сессии определяется по тому, знает ли он ее номер.

  Ответить  
 
 автор: Артем125   (17.07.2009 в 13:39)   письмо автору
 
   для: Loki   (17.07.2009 в 13:37)
 

Пока не очень представляю, но Trianon мне уже ответил, за что ему и Вам респект и уважение

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования