变量中未定义的索引错误

时间:2013-07-20 10:38:41

标签: php cart

我的网站是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>';
    }
}
?>

4 个答案:

答案 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>';
    }
}
}
?>

这对你有帮助......