سلام، واسه سبد خرید به نظر من دیتای اونقدر مهمی نیست که بخواین توی دیتابیس ذخیره کنید، توی کوکی کاربر ذخیره کنید، اگه به مرحله سفارش رفت که رفت نرفت باری رو دوش شما نمیذاره
این سایت توی سشن ذخیره کرده
https://webmobtuts.com/backend-development/creating-a-shopping-cart-with-laravel/
شما همونو تغییر بدین به کوکی
@coaradsupp
بهتر نیست برای پیاده سازی سبد یه جدول براش درست کنیم و آیدی هر کالا با یوزر مربوط بهش رو اونجا ذخیره کنیم به جای اینکه تو سشن ذخیره کنیم؟؟
مشکلی داره این راه ؟
سلام، نه مشکلی نداره، این سبد خرید یه بحث سلیقه ایه، از نظر من چون چیز خیلی خاصی نداره مشکلی توی ذخیره شدن توی کوکی یاسشن نداره، اگه کاربر واقعا بخواد بخره که ادامه میده و از کوکیش حذف میشه، نخواد سری بعد هم که بیاد هست و میتونه توی سبد خرید ادامه خرید بزنه، ان چنان مورد حساسی نیس به نظر من، شاید اشتباه بگم دوستان کمک کنن
@miladparsi1070
درود...
نیازی نیست اطلاعات سبد خرید رو ذخیره کنید و چون به کار نمیاد ...
همین طور که دوستان گفتند از روش کوکی یا سشن استفاده کنید بهتر از روش ذخیره دیتا است ...
@endworld
سلام
خب سشن استفاده کنیم مرورگر بسته شه از بین نمیره مگه؟ اگه بخوایم بمونه تو سبدش چیکار کنیم؟
به نظر من که کوکی خوبه، با بسته شدن مرورگر هم از بین نمیره مگه خود کاربر کوکی هاشو پاک کنه
@miladparsi1070
به طور پیش فرض مدت زمان سشن حدودا 30 دقیقه هست ...
استفاده از کوکی خوبه و می توانید زمان آن افزایش بدید و اطلاعات کاربر در مرورگر ماندگار میشه.
در آخر می توانید در کوکی زمان انقضای آن تعریف کنید و که بعد از تمام شدن زمان اطلاعات کاربر در مرورگر حذف بشه...
@coaradsupp @endworld
سلام
حالا یه سوالی که پیش میاد اینه که اگر کاربر کوکی های مرورگرش رو غیرفعال کرده باشه چی ؟! در اینصورت اصلا نمیتونه چیزی به سبد خریدش اضافه کنه چون با کوکی اضافه میشه و اون هم کوکی ها رو غیرفعال کرده
فکر کنم سشن انتخاب مناسب تری باشه چون سمت سرور ذخیره میشه و مطمئن هستیم که برای همه کاربر ها این راه جواب میده
یا اگر هم بخوایم سبد خرید بعد از بسته شدن مرورگر باقی بمونه، فکر کنم گزینه دیتابیس، راه مطمئن تری باشه
خوشحال میشم نظرات شما رو هم بشنوم :)
سلام.
اگه با لاراول کار میکنید از سشن استفاده کنید و داخل config/session.php و گزینه expire_on_close رو false قرار بدید تا با بسته شدن مرورگر سشن حذف نشه.
سلام، به خوب نکته ای اشاره کردید
به نظرم میشه کلاسی واسه ذخیره سبد خرید درست کرد که یا نمونه ای از کلاس کوکی یانمونه ای از کلاس سشن رو دریافت کنه، و چک کنیم که اگه کوکی فعال بود، کوکی پاس داده بشه
با این کد میشه چک کرد کوکی فعال هست یا خیر
Check if Cookies are Enabled
The following example creates a small script that checks whether cookies are enabled. First, try to create a test cookie with the setcookie() function, then count the $_COOKIE array variable:
Example
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
یا مثل سایت های دیگه که واردش میشین ازتون درخواست استفاده از کوکی رو دارن
https://gist.github.com/steveosoule/5679949
به کاربر گفته بشه فعال کنه
یا اگه هم دردسر زیاد نخوایم بکشیم توی همون سشن ذخیره کنیم، به هر حال سلیقه ایه
@sadrahkm
شما یه روش می تونید این کارو انجام بدید...
اگر کاربری کوکی رو غیر فعال کرده, یه پیام در وبسایت نمایش میده و به کاربر اطلاع میده کوکی مرورگر رو فعال کنید و اگه اگر بخواهد خریدی انجام دهد...
استفاده از سشن بهتر از کوکی هستش و دردسری نداره...
@endworld یه سوال شما گفتی استفاده از سشن بهتره
خوب به نظرتون سشن به چه روشی ذخیره بشه برا سبد خرید بهتره؟(database , file یا ...)
چون مهمه اطلاعات بمونه حداقل ۱ ماه
جالبه دوستانی که به من میگفتن تو برنامه نویس خوبی نبودی بخاطر همین برنامه نویسی رو ترک کردی الان یه راهنمایی درست هم نمیتونن بکنن !
استارتر عزیز
شما باید توی دیتابیس ذخیره کنید چون ممکنه بعدن نسخه اندروید یا ios فروشگاه هم بخواید بسازید
@ali7rangoo
درود...
می توانید سشن ها در دیتابیس ذخیره کنید و فرقی نمی کنه...
پیوند زیر:
https://jobteam.ir/ProductUser/110-Laravel-Session
من از این پکیج استفاده کردم خیلی خوب کامو راه انداخت
https://github.com/Crinsane/LaravelShoppingcart
یک راه خیلی خوب دیگه ای هم که هست اینه که شما دیتای مربوط به سبد خرید رو در دیتابیس داخل جدولی ذخیره کنید.
بعد میتونید یه command تعریف کنید که دیتای سبد خرید کاربرانی که 30 روزه به سبد خریدشون دست نزدن پاکسازی بشه.
بعد از اون، از طریق scheduler اون کامند رو روزانه یک بار ران کنید اینطوری هم دیتای مربوط به سبد سنگین نمیشه، هم نیاز به کوکی و سشن و این دردسر ها نیست...
صرفا یک ایده هست حالا میل خودتون 😉
@mahdiam200
سلام به نظر من با دیتابیس پیاده سازی کنید ِیکی از دلایلی که برا اینکار دارم این هست که کاربر شاید با کامپیوتر سبد خرید رو پر کنه و بخواد ادامشو با تلفن همراهش پیش بره این جوری سبد خریدش تو هر دو یکی هست و پیشنهاد میکنم از service ها حتما استفاده کنید برای سبد خرید که بعدا توسعه پذیریش راحت تر بشه براتون
ببین دوست من بهترین کار اینه اگه استفاده میکنی از کوکی استفاده کنی سشن هم میشه ولی عموما از کوکی استفاده میکنن اگه مثلا خواستی چیزی مثل دیجی کالا رو پیاده کنی که مثلا کاربر یک ماه پیش فلان فلان محصولات رو وارد سبد خریدش کرده ولی به بخش خرید نرفته و میخوای بمونه یه جدول واسط برای کاربر و سبد خرید ایجاد کن که توی دیتا بیس ثبت بشه برای اینکه فشاری ام بهش نیاد تایم بزاری مثلا برای بعد از دو هفته پاک بشه این جدول ولی لازم نیست به نظر من مثل دیجی کالا پیاده بشه و بپیچونیش بدون جدول پیادش کن با کوکی فقط روابط رو بین جداول order و products ایجاد کن حله توی دوره پروژه محور حسام خوب تشریح کرده
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟