赋初值就可以
$_SESSION['ses_cart_items']=1;
不赋值就是不行,不知道怎么回事

解决方案 »

  1.   

    //在Session中注册新的购物车
      $_SESSION['ses_cart_items'];
      $_SESSION['ses_cart_name'];
      $_SESSION['ses_cart_amount'];
      $_SESSION['ses_cart_price'];
      $_SESSION['ses_cart_id'];这几句是干什么? 没这么写的.  $_SESSION['ses_cart_items']=1;
     
    这句才对,就是要这样写
      

  2.   

    楼上的注意上下文关系。<?php
    session_start();
      $ses_cart_items=1;
      //填充4个数组的第0个位置,使用从href链接过来的值
      $ses_cart_name[0]=$cart;
      $ses_cart_amount[0]=1;
      $ses_cart_price[0]=$price;
      $ses_cart_id[0]=$id;
      //在Session中注册新的购物车
      $_SESSION['ses_cart_items'] = $ses_cart_items;
      $_SESSION['ses_cart_name']  = $ses_cart_name;
      $_SESSION['ses_cart_amount']= $ses_cart_amount;
      $_SESSION['ses_cart_price'] = $ses_cart_price;
      $_SESSION['ses_cart_id']    = $ses_cart_id;if(session_is_registered('ses_cart_items'))
    {
       echo "session注册成功";
       echo $_SESSION['ses_cart_items'];
    }
    ?>
      

  3.   

    不赋值,当然不行了……你疯了,不赋值就是空的,和没有注册有什么区别?你在判断的时候,条件应该是判断是否这个session进行了注册。这个函数在php中有,自己找吧
      

  4.   

    可以SESSION还是没有用得上啊 怎么办呢 下面是全部的代码<? session_start(); 
    extract($_GET);  ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body> 
    现有商品如下,请购买:
    <table border="1">
    <tr>
    <td>编号</td><td>名称</td><td>价格(元)</td>
    </tr>
    <tr>
    <td>1</td><td>鼠标</td><td>25.00</td>
    <td><a href="<?php $_SERVER['PHP_SELF']; ?>?id=1&price=25&cart=鼠标">购买</a></td>
    </tr>
    <tr>
    <td>2</td><td>键盘</td><td>100.00</td>
    <td> <a href="<?php $_SERVER['PHP_SELF']; ?>?id=2&price=100&cart=键盘">购买</a></td>
    </tr>
    <tr>
    <td>3</td><td>小汽车</td><td>500.00</td>
    <td><a href="<?php $_SERVER['PHP_SELF']; ?>?id=3&price=500&cart=小汽车">购买</a></td>
    </tr>
    <tr>
    <td>4</td><td>小游戏</td><td>50.00</td>
    <td><a href="<?php $_SERVER['PHP_SELF']; ?>?id=4&price=50&cart=小游戏">购买</a></td>
    </tr>
    <?php
    //require('../pre_inc.php');
    //$char_sql="select * from goods";
    //$result=@mysql_db_query($db_name,$char_sql,$link_message);
    //while($record=@mysql_fetch_array($result))
    //{
    //   echo "<tr>";
    //   echo "<td>$record[0]</td><td>$record[1]</td><td>$record[2]</td>";
    //   echo "<td><a href=".$_SERVER['PHP_SELF']."?id=$record[0]&price=$record[2]&cart=$record[1]>";
    //   echo "购买</a></td>";
    //   echo "</tr>";
    //}
    ?>
    </table>
    <hr />
    现在你所购买的货物如下:<br />
    <?php 
    //include('minicart.inc.php');
    if($cart!="")
    {
       //如果$cart不为空,说明用户要购买某一样商品
       //商品将要加到购物车中,检查一下是否存在一个注册过的购物车
       if(isset($ses_cart_items))
       {
          //存在一个注册过的购物车
      //增加商品到注册过的购物车中,检查重复记录,更新它们或在数组的最后增加新的商品
         $cart_position_counter=0;  //购物车中的位置
     $exist=0;   //记录是否已经购买过此类商品,默认为没有
     if($ses_cart_items>0)
     {
       echo "ses_cart_item > 0";
         //检查是否购物车中已有此类商品
     foreach ($ses_cart_id as $cart_id)
     {
           //遍历数组所包含的商品的编号,检查是否与从href所传来的相匹配
       if($cart_id==$id)
       {
           //如果在购物车中已经有了一个商品,将标志设为1
       $exist=1;
       //记住商品的位置,将其进行更新
       $cart_position=$cart_position_counter;
       }
       $cart_position_counter++;  //位置变量加1
          }
               }
       //更新购物车
       if($exist==1)
       {
          //如果商品在购物车中已经存在,则更新在$cart_position处商品的数量
      $oldamount=$ses_cart_amount[$cart_position];
      $ses_cart_amount[$cart_position]++;   //增加一件
      $amount=$ses_cart_amount[$cart_position];
      $oldprice=$see_cart_price[$cart_position];
      //更新价格
      $newprice=($oldprice/$oldamount)*$amount;
      $ses_cart_price[$cart_position]=$newprice;
    }
    else
    {
       $ses_cart_name[]=$cart;
       $ses_cart_amount[]=1;
       $ses_cart_price[]=$price;
       $ses_cart_id[]=$id;
       $ses_cart_items++;
    }
       }
       else
       {
          //首次购买
      //购物车没有注册过,创建一个新的购物车,并且通过Session注册它.
      //将商品记数设为1
      $ses_cart_items=1;
      //填充4个数组的第0个位置,使用从href链接过来的值
      $ses_cart_name[0]=$cart;
      $ses_cart_amount[0]=1;
      $ses_cart_price[0]=$price;
      $ses_cart_id[0]=$id;
     // 在Session中注册新的购物车
      $_SESSION['ses_cart_items']=$ses_cart_items;
      $_SESSION['ses_cart_name']=$ses_cart_name;
      $_SESSION['ses_cart_amount']=$ses_cart_amount;
      $_SESSION['ses_cart_price']=$ses_cart_price;
      $_SESSION['ses_cart_id']=$ses_cart_id;
       }
    }//下面的代码显示购物车中的物品信息
    if($ses_cart_items>0)
    {
        //如果在购物车中有商品
    $totalprice=0;
    echo "<table border=1><tr><td>编号</td><td>数量</td><td>名称</td><td>花费(元)</td></tr>";
    for($cart_counter=0;$cart_counter<$ses_cart_items;$cart_counter++)
    {
         //遍历购物车,用表格来格式化显示每一行,并且计算总的花费
     //需要通过格式化来显示价格的小数部分,否则.00是不会显示出来的
     $price=sprintf("%01.2f",$ses_cart_price[$cart_counter]);
     $amount=$ses_cart_amount[$cart_counter];
     $totalprice += $price;
     $name=$ses_cart_name[$cart_counter];
     echo "<tr>";
     echo "<td>$ses_cart_id[$cart_counter]</td><td>$amount</td><td>$name</td><td>$price</td>";
     echo "</tr>";
    }
    echo "</table><br>";
    //输出总的花费
    echo "总计:$totalprice 元";
    }
    else
    {
        //在购物车中没有商品
    //设置商品记数为0,清除所有的变量,防止人们得到旧的数组
    echo "你还没有购买任何东西";
    $ses_cart_items=0;
    unset($ses_cart_name);
    unset($ses_cart_amount);
    unset($ses_cart_price);
    unset($ses_cart_id);
    }?>
    </body>
    </html>