2012-03-14 17 views
0

Heyaこのエラーメッセージが表示されます。私はどこにでも見てきましたが、それを修正する方法はわかりません。私は初心者ですので、本当に戸惑っています。事前のおかげでPHP定義されていないインデックス

お知らせ:未定義のインデックス:ライン3

に/nas/students/j/j39-green/unix/public_html/ISD5/inc/functions.inc.phpでカートはあなたが中には何もありませんあなたのセッションが含まれていないことを意味し、あなたのショッピングカート

<?php 
function writeShoppingCart() { 
$cart = $_SESSION['cart']; 
if (!$cart) { 
    return '<p>You have no items in your shopping cart</p>'; 
} else { 
    // Parse the cart session variable 
    $items = explode(',',$cart); 
    $s = (count($items) > 1) ? 's':''; 
    return '<p>You have <a href="cart.php">'.count($items).' item'.$s.' in your shopping cart</a></p>'; 
} 
} 
+0

エラーがfunction.Inc.phpにありませんあなたのコード –

答えて

1

を。

試してみてください。 "EMPTY"

$_SESSION['cart'] = 0; // zero items in cart 
+0

それは働いた!ありがとう! – user1269822

0

$_SESSION['cart']

代わりにこれを試してみてください:

$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : false; 
0

このお試しください:$_SESSION['cart']が設定されていない場合、それはその警告をスロー

$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : NULL; 
0

するようなもので、あなたの$ _SESSIONを初期化しようとは

<?php 
function writeShoppingCart() { 
    $cart = !empty($_SESSION['cart']); 
    if (!$cart) { 
     return '<p>You have no items in your shopping cart</p>'; 
    } else { 
     // Parse the cart session variable 
     $items = explode(',',$cart); 
     $s = (count($items) > 1) ? 's':''; 
     return '<p>You have <a href="cart.php">'.count($items).' item'.$s.' in your  shopping cart</a></p>'; 
    } 
} 
1

用途:

$cart = isset($_SESSION['cart'])?$_SESSION['cart']:false; 
1

これは、キー 'カート' はないことを意味し$ _SESSIONスーパーグローバル配列には存在しません。

この値が存在しないようにするために、それは大丈夫だ場合は、このやるべきこと:

$cart = false; 
if (isset($_SESSION['cart'])) { 
    $cart = $_SESSION['cart']; 
} 

を「あなたはPHPで、三項演算子と呼ばれるものを使用することができますが、あなたは初心者だから、私はドンあなたに衝撃を与えたい。

開発モードでは、エラーを表示することは問題ありませんが、エラーを無効にして(error_reporting)、ログして(error_log())、訪問者に警戒することなく検査できるようにする必要があります。

関連する問題