0

我不知道为什么我会收到错误。按下添加按钮后,通知会在刷新时消失。

<?php

    session_start();
    //session_destroy();
    $page ='index.php';

    mysql_connect('localhost','root','') or die(mysql_error());
    mysql_select_db('cart') or die(mysql_error());


     if (isset($_GET['add'])) {

        $_SESSION['cart_'.$_GET['add']] +'1';
        }

    function products() {

    $get = mysql_query('Select id, name, description, price from products where quantity > 0 order by id desc');

    if (mysql_num_rows($get) == 0 ) 
    {
    echo "There are no products to display";
    }
        while ($get_row = mysql_fetch_assoc($get)) {
            echo '<p>'.$get_row['name'].'<br/>'
                      .$get_row['description'].'<br/>'
                      .number_format($get_row['price'],2)
                      .' <a href="cart.php?add='.$get_row['id'].'">
                         Add
                         </a>
                 </p>';

            }
    }
    echo $_SESSION['cart_1']
?>

--------和index.php

<?php require 'cart.php' ?>
<html>
<head>
</head>
<body>

<?php products(); ?>

</body>
</html>

第一次执行 index.php 后,收到错误:Notice: Undefined index: cart_1 in E:\xamp\htdocs\ShopCart\cart.php on line 35

4

2 回答 2

1

您的通知来自echo $_SESSION['cart_1']。而且你没有isset()在那里使用。试试看:

if (isset($_SESSION['cart_1'])) {
    echo $_SESSION['cart_1'];
} else {
    echo "Session cart_1 is not set. Here is what is inside Session: " . implode(', ',array_keys($_SESSION));
}
于 2014-05-16T21:45:00.723 回答
0
$_SESSION['cart_'.$_GET['add']] +'1';

如果这是您所期望的,这不会创建会话变量。你会设置它

$_SESSION['set_1'] = 0;

并增加它

 $_SESSION['set_1']++;

我不知道“添加”变量可能是什么。如果是,比如说,'2',那么你的会话将被命名为set_21not set_1,尽管 php 中的连接运算符是 '.' 不是'+'。

于 2014-05-16T21:47:28.367 回答