سلام
من خیلی وقت پیش ها با php یه پنلی نوشتم و url برای ویرایش محصول اینجوری بوده :
domain.com/index.php?edit_product=17
یا برای حذف محصول اینجوری بوده
domain.com/index.php?delete_product=17
اون موقع با لاراول آشنا نبودم
اصلا با php هم درست و حسابی آشنا نبودم ، هنوزم نیستم 😁
میدونم باید با متد های put و delete و crf توکن و... کار میکردم ولی خب اون موقع همچین کاری نکردم چون نمیدونستم 😐
فقط موقع ورود کاربر اومدم همچین کاری کردم و آیدی کاربر رو تو سشن ذخیره کردم
$id = $_session['user_logged_in'];
و دیگه با همین آیدی مقالات کاربر رو گرفتم و با روت های بالایی که گفتم عملیات ویرایش و حذف انجام میشده
حالا به مشکلی خوردم که نگم هم خودتون فهمیدین دیگه 😐🤦♂️
هر کاربری توی url یه آیدی الکی وارد کنه میتونه کالایی رو ویرایش یا حذف کنه
دیگه یه جوری هم هست نمیشه بشینم دوباره 0 تا 100 با لاراول بنویسم.
ممنون میشم یه راهنمایی بکنید چیکار کنم واسه این مورد که اگه محصول مال خود کاربر نبود ویرایش نتونه بکنه
تشکر
@hesammousavi @ali.bayat @juza66 @rezajashnsaz0011
سلام، ینی اون مقاله مال کاربر هست؟ ینی کلید خارجی توی جدولش قرار دادین؟ اگه اره که اون مقاله 17 رو به فرض میگیرین چک میکنید که مقاله مال همین کاربر هست، و اگه بود اجازه ادیت و حذف رو بدین
بله توی جدول محصول آیدی کاربر هست و میشه چک کرد
ولی بعضی جداول وابسته آیدی کاربر داخلش نیس
برای اونا راه حلی هست؟!
@coaradsupp
مثلا یه جدول وابسته بین محصول و گالری تصاویر محصول
توی گالری تصویر آیدی محصول هست ولی آیدی کاربر نیس
اونجا هم فکر کنم دوباره باید کوئری بزنم برگردم به جدول محصول اگه مال خود کاربر بود عملیات ویرایش روی گالری انجام بشه؟ 🤔
راه درستش اینه که از متد delete استفاده کنی بجای get
و csrf بذاری
.
ولی اگه میخوای همینجوری پیش بری هی باید دستی چک کنی ببینی کسی که میخواد یه کاری انجام بده همونیه که مثلا مقاله گذاشته یا نه
بله، به هرحال باید شما به ایدی کاربر برسید که برسی بشه این مال کاربر هست یا خیر، و ادامه ماجرا، که این کاربر با الوکوئنت لاراول به راحتی انجام میشه ولی با php خام با دردسر فراوان :)
سلام. همونطور که دوستان گفتن و خودتون هم میدونید استفاده از get برای همه این کارها اشتباهه.
حالا اگر میخواید به همین روش پیش برید یه روش اینه:
هرکاری که میخواید انجام بدین اول id محصولات کاربر رو از دیتابیس بخونید و توی یه آرایه قرار بدید.
حالا چه بخواید محصول رو مدیریت یا حذف کنید چک میکنید ببینید id اون محصول توی آرایه هست یا نه.
بخش گالری تصویر رو هم اگر بخواید ویرایش کنید بازهم id محصول رو چک میکنید که تو آرایه هست یا نه.
توی هر دو مورد اگر id توی آرایه وجود داشت یعنی محصول یا گالری تصویر مربوط به اون کاربر هست و میتونه ویرایش و حذف کنه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟