我正在学习基本的php课程,我需要一些可能基本的帮助。虽然这节课很难过。
所以到目前为止我所做的是创建一种保存项目的方法。即localhost:8888 /?item = album1
它会将album1保存到页面上。
现在,我必须创建另一个页面,删除输入了网址的项目。
这是我需要帮助的地方:
使用我们提交的URL,我们添加一个查询参数remove = true,就像我们传入要保存的项目名称一样。 在控制器中,查找删除键。如果您找到它,请添加代码以从购物车中删除该项目。
到目前为止,这是我的编码。
<?php
session_start();
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
}
if (isset($_GET['item'])) {
echo 'Thank you for your interest in '.$_GET['item'];
$_SESSION['cart'][] = $_GET['item'];
}
echo 'Here are the items currently in your cart:<br><br>';
foreach ($_SESSION['cart'] as $album) {
echo $album."<br>";
}
?>
答案 0 :(得分:0)
首先为删除操作添加新的GET var:
要移除的网址:localhost:8888/?remove&item=album1
<?php
session_start();
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
}
if ( isset($_GET['remove']) && isset($_GET['item']) ) {
echo 'You are about to delete item ' . $_GET['item'];
// var_dump($_SESSION);
// remove the item
$item = $_GET['item'];
foreach($_SESSION['cart'] as $cartPosition => $itemName) {
if($item === $itemName) {
unset($_SESSION['cart'][$cartPosition]);
}
}
}
elseif (isset($_GET['item'])) {
echo 'Thank you for your interest in '.$_GET['item'];
$_SESSION['cart'][] = $_GET['item'];
}
echo 'Here are the items currently in your cart:<br><br>';
foreach ($_SESSION['cart'] as $album) {
echo $album."<br>";
}
?>
答案 1 :(得分:0)
为localhost:8888/?item=album1&remove=true
if (isset($_GET['item'])) {
if(isset($_GET['remove']) && $_GET['remove'] == 'true' ) {
unset($_SESSION['cart'][$_GET['item']]);
}
else {
echo 'Thank you for your interest in '.$_GET['item'];
$_SESSION['cart'][] = $_GET['item'];
}
}
第二行检查是否存在remove,如果是,则检查remove是否为真(如果有人通过则删除false则不应该触发)如果一切正常“取消设置”会话中的变量
希望有所帮助