Я пытаюсь передать данные, которые я извлек из базы данных SQL, в массив $_SESSION
для отображения корзины покупок пользователю. Я не думаю, что информация на самом деле передается, программа заканчивается отображением, но она дает мне пустые поля. Для справки я пытаюсь передать данные через несколько файлов PHP. Кроме того, как только я передаю информацию, я не уверен, как бы я зациклил указанный массив $ _SESSION, чтобы пользователь мог добавить несколько элементов.
Я не уверен, что проблема связана с моей include()
с моимindex
или, может быть, мой form action
в product_list
. Но где-то либо данные не передаются, либо они не работают так, как я думаю.
Это код в моем product_list
, куда данные первоначально отправляются
foreach ($products as $product) : ?>
<tr>
<td><?php echo $product['productID']; ?></td>
<td><?php echo $product['productName']; ?></td>
<td class="right"><?php echo $product['price']; ?></td>
<td><form action="../Cart/index.php" method="post">
<input type="hidden" name="action"
value="add_product">
<input type="hidden" name="product_name"
value="<?php echo $product['productName'];?>">
<input type="hidden" name="product_price"
value ="<?php echo $product['price'];?>">
<input type="submit" value="Add to Cart">
<?php endforeach;
Это код в моем index
, куда входит корзина для покупок
if ($action == 'add_product')
{
include('../Cart/index.php');
}
Это мой код в `` `индексе в пути к корзине для покупок
$action = 'add_to_cart';
if(!isset($_SESSION['cart']))
{
$_SESSION['cart'] = array();
}
if($action == 'add_to_cart')
{
$cart_product_name = filter_input(INPUT_GET, 'product_name');
$cart_product_price = filter_input(INPUT_GET, 'product_price', FILTER_VALIDATE_FLOAT);
$product = array('price' => $cart_product_price, 'name' => $cart_product_name);
$_SESSION['cart'][] = $product;
include('cart_view.php');
}
И именно здесь должен отображаться массив $_SESSION
<main>
<h1>Your Cart</h1>
<link rel='stylesheet' type="text/css" href="main.css">
<?php
print_r($_SESSION['cart'][0]);
?>
На самом деле отображается Array ( [price] => [name] => )