我的网站是Career Tracker 我想在我的本地机器上添加购物车我每次都有错误,所以我很累。
我使用过XAMPP 1.8.1 [PHP:5.4.7]我每次都收到错误 注意:未定义的索引:第4行的functions.inc.php中的cart
我累了为什么我的php veriable未定义? $车
这是我的代码,我在第4行收到错误。
php未定义索引错误
<?php
function writeShoppingCart()
{
$cart = $_SESSION['cart'];
if (!$cart)
{
return 'My Cart (0) Items';
}
else
{
// Parse the cart session variable
$items = explode(',',$cart);
$s = (count($items) > 1) ? 's':'';
return '<a href="cart.php">'.count($items).' item'.$s.' in your cart</a></p>';
}
}
?>
答案 0 :(得分:3)
您应该检查购物车索引是否存在。
$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : array();
答案 1 :(得分:0)
您的会话不包含名称为“cart”的任何索引
要在多个页面上提供会话,您需要使用session_start
功能在任何输出之前激活会话。
答案 2 :(得分:0)
在设置变量之前访问变量会抛出一个通知。
首先尝试使用isset()
功能检查它是否存在
编辑注意到您还没有开始会话:session_start()
http://php.net/manual/en/function.isset.php
http://php.net/manual/en/function.session-start.php
答案 3 :(得分:0)
只需将您的代码更改为:(我通常用于此情况)
<?php
function writeShoppingCart()
{
if(isset($_SESSION['cart']))
{
$cart = $_SESSION['cart'];
if (!$cart)
{
return 'My Cart (0) Items';
}
else
{
// Parse the cart session variable
$items = explode(',',$cart);
$s = (count($items) > 1) ? 's':'';
return '<a href="cart.php">'.count($items).' item'.$s.' in your cart</a></p>';
}
}
}
?>
这对你有帮助......