每次我将一些值传递给此页面时,我想向数组添加多个值(cart.php)。
但是现在我只能从array.i中获取一个值
echo $_SESSION['cart'][1];
echo $_SESSION['cart'][2];
但我只能获得一个新添加的值,我会注意到
Notice: Undefined offset: 1
Notice: Undefined offset: 2
cart.php
<?php
if(isset($_GET['action']) && isset($_GET['product_id'])){
if($_GET['action'] == "add"){
$product_id = $_GET['product_id'];
$_SESSION['cart'] = array();
array_push($_SESSION['cart'],$product_id);
}
}
?>
这就是我在查询字符串
中传递值的方式 http://localhost/mycart.php?action=add&product_id=4
答案 0 :(得分:2)
您总是会覆盖数组,因此,您只能获得一个值。 试试这个:
if(isset($_GET['action']) && isset($_GET['product_id'])){
if($_GET['action'] == "add"){
$product_id = filter_var($_GET['product_id'], FILTER_SANITIZE_NUMBER_INT);
$_SESSION['cart'][] =$product_id;
}
}