Я пишу скрипт в php, который очень похож на корзину покупок. что я хочу сделать, когда пользователи добавляют определенный продукт, мне нужно добавить productid в переменную сеанса, не сохраняя в базе данных. поэтому каждый раз, когда пользователь добавляет продукт, productid должен храниться в переменной сеанса.
и когда пользовательские проверки мне нужно получить все продукты и отобразить?
может кто-нибудь объяснить мне, как это сделать? coz im fine с 1 продуктом, но не уверен, как хранить и извлекать несколько значений.
Любая помощь будет высоко ценится
Поместите массив на сеанс . Добавьте элементы в массив.
$_SESSION['cart'] = array(); $_SESSION['cart'][] = $apples; $_SESSION['cart'][] = $oranges; $_SESSION['cart'][] = $pears;
Примечание: замените $apples
, $oranges
и $pears
идентификаторами вашего продукта.
Вы получаете доступ к массиву, как и любой другой массив в PHP, например, для подсчета элементов:
echo count($_SESSION['cart']);
и перебрать элементы:
foreach($_SESSION['cart'] as $item) { echo $item; }
Вы также можете обернуть сеанс в объект и предоставить доступ к тележке через интерфейс метода, но я оставляю это для кого-то еще, чтобы объяснить.
Поместите следующее в файл index.php
и дайте ему тест:
<?php session_start(); if(isset($_POST['product'])) { $products = isset($_SESSION['products']) ? $_SESSION['products'] : array(); $products[] = $_POST['product']; $_SESSION['products'] = $products; } ?> <html> <body> <pre><?php print_r($_SESSION); ?></pre> <form name="input" action="index.php" method="post"> <input type="text" name="product" /> <input type="submit" value="Add" /> </form> </body> </html>
Каждый сеанс является ассоциативным массивом. Вы можете хранить в нем другие массивы, например
$_SESSION['products']=array(); $_SESSION['products'][]='123123' $_SESSION['products'][]='cow_34526'
и тогда вы можете работать с этим, как с любым другим массивом, т.е.
foreach($_SESSION['products'] as $item){ //display or process as you wish }
$role=json_encode($checkUser1[0]); $role2=str_replace('"','',$role); $company=json_encode($checkUser2[0]); $company=str_replace('"','',$company); $_SESSION['LOGIN_STATUS']=true; $_SESSION['UNAME']=$uname; $_SESSION['datefrmt']='dd/mm/yy'; $_SESSION['role']=$role2; $_SESSION['company']=$company;