با عرض سلام و خسته نباشید خدمت تمامی کاربران سایت
بنده برای ارسال قیمت محصول به سبد خرید از روش زیر استفاده میکنم :
<input type="hidden" name="price" id="price" value="{{ $productDetails->price }}">
مشکلی که هستش اینه که کاربر با inspect Element میتونه مقدار قیمت رو ویرایش کنه . چطور میتونم این باگ رو برطرف کنم ؟
سلام
می تونید آیدی محصول رو ارسال کنید و با داشتن آیدی قیمت رو بدست بیارید و داخل سشن ذخیره کنید
بعد از اینکه فرم با مقدار
<input type="hidden" name="price" id="price" value="{{ $productDetails->price }}">
ارسال کردین چه کاری انجام میدین ؟ قیمت محصول رو در سشن ذخیره می کنید یا فقط این قیمت رو در
صفحه سبد خرید نمایش میدین ؟
توضیح بدین تا بیشتر راهنماییتون کنم
باتشکر
ممنونم از اینکه زمان میزارید ، میخوام بعد از اینکه اطلاعات فرم رو گرفتم انتقالش بدم به صفحه زرین پال تا پرداخت رو انجام بده
فرم شما بالاخره باید یه سری داده رو به یه مسیر ارسال کنه. به کار بردن فیلدهای اینپوت هیدن برای دادههای حساس مثل قیمت یه محصول توصیه نمیشه.
پس
بجای ارسال قیمت, آیدی محصول رو به یه متد کنترلر پاس بدید و اونجا قیمت رو محاسبه کنید و بعد کاربر رو به صفحه زرینپال ریدایرکت کنید.
فرم شما باید شبیه زیر باشه:
<form method="post" action="{{ route('addToBasket', ['id' => $productDetails->id]) }}" >
@csrf
<input type="text" name="quantity" value="1" />
<input type="submit" value="Add to Basket" />
</form>
شما برای نمایش اطلاعات یک محصول از یه روت GET مثل زیر استفاده میکنید:
Route::get('product/{product}', 'ProductsController@show');
حال برای اضافه کردن به سبد از این روت POST :
Route::post('product/{product}/addToBasket', 'BasketController@store')
->name('addToBasket');
و متد store در کنترلر BasketController :
use App\Product;
class BasketController extends Controller
{
public function store(Product $product, Request $request)
{
$price = ($product->price * $request->quantity);
// inja redirect mikonid be dargah
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟