PDA

View Full Version : نتیجه نهایی در مورد سبد خرید؟



rasti_web
سه شنبه 28 آذر 1385, 11:25 صبح
قبل از طرح سوال باید بگویم من در تالار ها در مورد سبد خرید جستجو کردم اما به نتیجه نهایی نرسیدم .
روند کار برای خرید بدین شکل در نظر گرفته شده است :
1 . کاربر وارد سایت شده و خرید می کند . در این مرحله IP کاربر را بهمراه مشخصات جنس ( ID جنس و ...) در جدول سبد خرید نگه داری میشود .
2. در هنگام اتمام سفارش کاربر باید لاگین کند . در این هنگام ID کاربر به جدول سبد خرید به همراه IP کاربر ذخیره شده و کاربر می تواند دوباره اقدام به خرید کرده و یا پرداخت پول نماید .
3. بعد از اتمام پرداخت پول مشخصات سبد خرید را در جدول خرید کاربر انتقال داده و سبد خرید را خالی شود .

در روال کاری فوق برای سبد خرید ازSession وViewstate وCookie بدلایل اشکالات گفته شده در تاپیک های قبلی استفاده نشده است) امنیت وDC شدن و ...) و جدول سبد خرید به همراه IP کاربر استفاده شده است .

آیا روال کاری فوق درست است . لطفا راهنمایی بفرمایید .

shahroozj
سه شنبه 28 آذر 1385, 13:34 عصر
به نظر من استفاده از coockie بهتر از IP است، زیرا ممکن است که دو نفر با یک IP به سایت شما متصل شوند . ( مثلا دو نفر که در یک شرکت هستند و از Internet Sharing استفاده می کنند)

someCoder
سه شنبه 28 آذر 1385, 14:15 عصر
در روال کاری فوق برای سبد خرید ازSession وViewstate وCookie بدلایل اشکالات گفته شده در تاپیک های قبلی استفاده نشده است) امنیت وDC شدن و ...) و جدول سبد خرید به همراه IP کاربر استفاده شده است .تمام روشهایی که اینجا گفتید، از استفاده از IP بهتر هستند! حتی از نظر امنیت و DC شدن که خودتون میگید.
بهترین راه هم همون cookie هست. فقط مشکل اینه که ممکنه user غیر فعال کنه، که در اون صورت میشه از همون viewstate و session استفاده کرد.

rasti_web
چهارشنبه 29 آذر 1385, 10:51 صبح
من برای سبد خرید از جدول سبد خرید استفاده کرده ام . ( ازSession وViewstate وCookie استفاده نکرده ام ) . سوال من در مورد شناسایی کاربر در جدول سبد خرید قبل از عمل لاگین است . که در اینجا قبل از لاگین با IP شناسایی می شود . آیا مشکلی دارد؟

someCoder
چهارشنبه 29 آذر 1385, 19:59 عصر
دوست عزیز، من هم برای شناسایی منظورم بود. مثلا یه مشکل اینجاست که ممکنه در صورتی که کاربر از پراکسی سرور استفاده کنه، شما IP اون سرور رو ببینید و در نتیجه تمام کاربران اون سرور برای امنیت شما تهدید به حساب میان. (این از امنیت)
در مورد DC شدن هم تعداد کسانی که IP ثابت ندارند کم نیست (بلکه زیاد هم هست)

nazaninam
چهارشنبه 29 آذر 1385, 22:38 عصر
به نظر من بهترین راه اینه که کاربر ابتدا عضو شه بعد لاگین کنه بعد خریدشو انجام بده
کمترین مشکل ، کمترین هم افزایی ، صرفه جویی در وقت

عفت بزرگه
چهارشنبه 29 آذر 1385, 22:56 عصر
بهترین گزینه استفاده از جدول در دیتا بیس و session id برای هر کاربر است

rasti_web
جمعه 08 دی 1385, 11:37 صبح
به نظر من بهترین راه اینه که کاربر ابتدا عضو شه بعد لاگین کنه بعد خریدشو انجام بده
کمترین مشکل ، کمترین هم افزایی ، صرفه جویی در وقت
---------------------------------------------------------------------------
از راهنمایی دوستان ممنونم
روال کاری که من در نهایت در نظر گرفتم به این صورت شد :
- برای سبد خرید جدول سبد خرید در نظر گرفته شد .
- کاربران غیر عضو تنها اجازه دیدن محصولات را دارند.
- کاربران عضو بعد از عمل لاگین کردن با ID خود شناخته شده و تمامی مراحل خرید با توجه به Session مربوط به ID همان کاربر انجام می گیرید .
- بعد از پرداخت نهایی محتوای سبد خرید به جدول خرید کاربر منتقل می شود و از سبد خرید حذف می گردد .
--------------------------------------------------------------------------

عفت بزرگه
جمعه 08 دی 1385, 11:45 صبح
اگر یه کاربر از 2 جا لاگین کرد ؟‌

whitehat
جمعه 08 دی 1385, 13:25 عصر
اگر یه کاربر از 2 جا لاگین کرد ؟‌
ما مجبور بودیم برای کاربرد دیگه ای این کار را انجام دهید تنها راه چاره ریست کردن Session است :چشمک:

عفت بزرگه
جمعه 08 دی 1385, 15:57 عصر
شما کاربر رو مجبور به لاگین بکن اما توی جدول سبد خرید session id‌ رو بریز و موقع بسته شدن session ‌جدول رو خالی کن

rtech
جمعه 08 دی 1385, 23:31 عصر
شما میتوانید از دو جدول order و Temp استفاده کنید که پس از این که کاربر خرید خود را انجام داد و به مرحله نهایی رسید تمام اجناسی که خریده به جدول order منتقل و جدول temp را خالی کنید

insert into order(product_id,product_name,price,user_id)values (select product_id,product_name,price,user_id from temp
delete from temp where user_id=session(user_id

من که همیشه از این روش استفاده میکنم

rtech
جمعه 08 دی 1385, 23:33 عصر
خوبی این روش این است که اگر کاربر Dc شود و یا هر اتفاق دیگری هم بیوفتد اجناسی که خریده در سبد خریدش موجود میباشد البته در این حالت باید کاربر قبل از سفارش لاگین کند !

rasti_web
چهارشنبه 02 اسفند 1385, 11:19 صبح
از راهنمای همه ممنونم . من برای خرید هر کاربر 30 دقیقه زمان در نظر گرفته ام . لذا بعد از گذشت 30 دقیقه چنانچه کاربر خرید را به اتمام نرسانده باشد باید خرید های کاربر را از سبد خرید حذف کنم (کاربر Sign out نکرده باشد) . چطور هر 30 دقیقه سبد خرید را چک کرده و خرید های ناتمام را از سبد خرید حذف کنم .

Alireza_Salehi
چهارشنبه 02 اسفند 1385, 12:13 عصر
شما اگر از کوکی استفاده کنی و مدت انقضاش رو روی 30 دقیقه تنظیم کنی اتوماتیک بعد از 30 دقیقه خودش حذف میشه !

rasti_web
چهارشنبه 02 اسفند 1385, 12:30 عصر
من از جدول سبد خرید استفاده کرده ام . قبلا دلایل استفاده کردن از جدول به جای کوکی را توضیح داده ام .

rasti_web
یک شنبه 10 تیر 1386, 10:57 صبح
کاربر rtech من از دستور sql شما برای انتقال اطلاعات از جدول temp به جدول اصلی استفاده کرده ام(در دات نت 1.1) ولی پیام خطا میدهد.دستور که من استفاده کردم :
(جدول اصلی Sh_UserShop و جدول کمکی ام Sh_BasketUser )


INSERT INTO Sh_UserShop(uscpID,usudID,usCount,usTime,usDate,us IP,usRefID,usApp_Code)VALUES(SELECT bucpID,buudID,buCount,buTime,buDate,buIP,buReferen ce,buApp_Code FROM Sh_BasketUser DELETE FROM Sh_BasketUser WHERE Sh_BasketUser.buudID LIKE '" + userID.Trim() + "')";

ولی خطای :


Incorrect syntax near the keyword 'select'. Line 1: Incorrect syntax near ')'.

لطفا من را راهنمایی کنید . من خیلی به این دستور نیاز دارم.
ممنون

Farhad.B.S
دوشنبه 11 تیر 1386, 05:49 صبح
INSERT INTO Sh_UserShop(uscpID,usudID,usCount,usTime,usDate,us IP,usRefID,usApp_Code)
SELECT bucpID,buudID,buCount,buTime,buDate,buIP,buReferen ce,buApp_Code FROM Sh_BasketUse
WHERE ...

DELETE FROM Sh_BasketUser WHERE Sh_BasketUser.buudID LIKE '" + userID.Trim() + "')";

rasti_web
دوشنبه 11 تیر 1386, 08:16 صبح
مرسی مشکلم حل شد

hesam_a110
یک شنبه 17 تیر 1386, 09:48 صبح
با سلام به همگی اگر از دات نت 2 استفاده می کنید می توانید از پرو فایل ها هم استفاده کنید کاربر در صورتی که login نکرده باشد سبد خرید را به صورت یک کوکی ذخیره می کند و در صورتی که login کرده باشد داخل پرو فایل ذخیره می کند.
موفق باشید
::::::