嗨,我在这里有点新手 - 所以请耐心等待我。 我正在尝试创建一个愿望清单 - 类似于购物车,但没有支付网关。反正。
我有以下代码,当点击添加到心愿单按钮时,它会向数组添加项目
if (isset($_GET['add'])) {
$ITEM = array(
'name' => $_GET['add']
);
$_SESSION['WISH_LIST'][] = $ITEM;
header('Location: ' . $_SERVER['PHP_SELF']);
}
我想让它工作,以便在项目已经存在的情况下不添加该项目。
我试过这个
if (isset($_GET['add'])){
$ITEM = array(
'name' => $_GET['add']
);
if ( in_array($_GET['add'], $ITEM) ) {
echo "Already Added";
} else {
$_SESSION['WISH_LIST'][] = $ITEM;
header('Location: ' . $_SERVER['PHP_SELF']);
}
}
但是这永远不会添加项目 - 我总是得到'已经添加'文本。
答案 0 :(得分:3)
您需要检查会话中存在的内容,而不是$ ITEMS数组:
if (isset($_GET['add'])) {
$ITEM = array(
'name' => $_GET['add']
);
if (in_array($ITEM, $_SESSION['WISH_LIST'])) {
echo "Already Added";
} else {
$_SESSION['WISH_LIST'][] = $ITEM;
header('Location: ' . $_SERVER['PHP_SELF']);
}
}
也可以更好地缩进代码。