Измените код сеанса PHP на сеанс laravel.
Я хочу поместить item_code, переданный в GET, в сеанс корзины, когда значение статуса будет превышено корзиной.
Было бы легко представить себе эту логику как логику покупки в торговом центре. Когда пользователь делает 4 элемента фаворитом, значение item_code, переданное в сеанс корзины, возвращается в виде количества элемента. Если пользователь щелкает закладку с количеством товаров, установленным на 1, значение item_code, переданное в сеанс корзины, вставляется немедленно.
Я пробовал, но за сеансами не успеваю. Помощь.
switch (trim($_GET['status'])) {
case "":
break;
case "basket":
if ($_GET['amount'] > 1) {
for ($i = 1; $i <= $_POST['amount']; $i++) {
$_SESSION['basket'][] = $_GET['item_code'];
}
} else {
$_SESSION['basket'][] = $_GET['item_code'];
}
break;
}
@Mongoose Было бы легко думать о логике как о логике покупки в торговом центре. Когда пользователь делает 4 элемента фаворитом, значение item_code, переданное в сеанс корзины, возвращается в виде количества элемента. Если пользователь щелкает закладку с количеством товаров, установленным на 1, значение item_code, переданное в сеанс корзины, вставляется немедленно.
Извините, но для меня фраза «значение item_code, переданное в сеанс корзины, возвращается количеством товара» не имеет смысла. Как сумма товара (то есть цена?) Может вернуть код товара? Из того, что я вижу в коде, «сумма» является одновременно переменной $ _GET и $ _POST, в чем разница между ними? Я понимаю, что вы хотите добавить код товара в корзину на основании какого-то условия, но я не знаю, какое условие вы хотите.
@MingeunKim Я не думаю, что ясно, с какой частью у вас проблемы. Название сообщения подразумевает, что вам нужна помощь в изменении сеанса PHP на Laravel (я не уверен, что это вообще имеет смысл, но я не использовал Laravel). Но ваш настоящий вопрос, похоже, требует помощи с условием и обработкой переменных $_GET, $_POST и $_SESSION.
@Mongoose Нет разницы в суммах _GET, _POST. Если переданное значение amount больше 1, то цикл выполняется в соответствии со значением amount. Для каждой суммы есть item_code в формате значения ключа. Я хочу изменить свой PHP-код на laravel. Пример 1) 'amount' => 1, 'item_code' => 123213 Пример 2) 'amount' => 2, 'item_code' => 100231
Я объясню простой код. for($i=1;$i <= 3; $ i ++) { $_SESSION['basket'][] = $i; } Код сохраняет 1, 2 и 3 в сеансе корзины. Пожалуйста, измените код на laravel.
@WOUNDEDStevenJones Спасибо, что направили меня в правильном направлении. Я видел документацию, но не знаю, как ее реализовать. TT
Меня смутило название «сумма». Я думал, что это означает «цену» продукта, но вы используете его для «количества» товара. например добавить 3х продукт в корзину. Я не думаю, что у вас должны быть одновременно $ _POST ['amount'] и $ _GET ['amount'] с одним и тем же именем. Кроме того, данные, полученные из данных $ _GET и $ _POST, нельзя доверять для бизнес-логики. Если кто-то просто изменит сумму с 0 на 1 в своем браузере, он сможет ввести ее в корзину.
Согласно документации, нельзя просто сделать session(['key' => 'value']);? Другими словами, создайте массив элементов для добавления в корзину, а затем установите переменную сеанса, например session(['basket' => $items]);.
Простите. Я вроде перепутал код. Мне любопытен код без методов GET и POST.
@WOUNDEDStevenJones Я хочу постоянно хранить несколько значений в сеансе корзины. В настоящее время в этом коде есть только одно значение.






Что на самом деле означает «когда стоимость статуса превышает корзину»? Пожалуйста, простыми словами объясните, что вы хотите сделать. Почему
amountотправляется пользователем в переменной GET? Также каковы возможные значенияstatus?