下面这个东西有几个问题
1.如果没有登录的时候选择购买,那个提示【请先登录】会出来,但是后面网页会显示Undefined index:admin in.....line 8,就是if(!isset($_SESSION['admin']))那个
2.不管我购买多少种书,那个记录书种类的变量$_SESSION['itemNum']总是为1
3.我在购物车页面显示购物信息时,总价格显示的是单价,没有乘起来
大家帮我看看怎么回事,或者提供好点的购物车代码吧
<?php
  include ("include/setting.inc.php");
  include ("include/conn.php");
  //var $_SESSION['admin'];
  session_start();
  mysql_query("SET NAMES 'UTF8'");  
  
  if(!isset($_SESSION['admin'])&&$_SESSION['admin']==false){ 
  echo '<SCRIPT LANGUAGE="javascript">';
  echo "alert('请先登录');";
      echo "location.href='login.php'";
      echo '</SCRIPT>';
  }
  else{
  $_SESSION['file']="";    //这个是用来记录当前路径,等登录后返回
  }
  
  $_SESSION['itemNum'];     //记录总共有几种书
  $bookid=$_GET['id'];
  $str="select * from books where b_id=".$bookid;
  $result=mysql_query($str);
  $row=mysql_fetch_array($result);
  
  if(isset($_SESSION['$bookid']['id'])){           //判断购物车是否有这个书,有的话数量加1
  $_SESSION['$bookid']['booknum']++;
  }
  else{
      $_SESSION['$bookid']['id']=$row['b_id'];
      $_SESSION['$bookid']['bookname']=$row['b_name'];
      $_SESSION['$bookid']['bookprice']=$row['b_price'];
      $_SESSION['$bookid']['booknum']=1;
      $_SESSION['$bookid']['booktotal']=$_SESSION['$bookid']['booknum']*$_SESSION['$bookid']['bookprice'];
      $_SESSION['itemNum']++;
  }
  echo $_SESSION['itemNum'];
?>

解决方案 »

  1.   

    1.去掉这个 &&$_SESSION['admin'] == false
    剩下两个我没看懂你代码 - -~..
      

  2.   

    <?php
    include ("include/setting.inc.php"); 
    include ("include/conn.php"); 
    session_start(); 
    mysql_query("SET NAMES 'UTF8'"); 
    if(!isset($_SESSION['admin'])&&$_SESSION['admin']==false){ 
    echo '<SCRIPT LANGUAGE="javascript">'; 
    echo "alert('请先登录');"; 
    echo "location.href='login.php'"; 
    echo '</SCRIPT>'; 
    exit;
    } else{ 
    $_SESSION['file']=""; //这个是用来记录当前路径,等登录后返回  

    $bookid=$_GET['id']; 
    $str="select * from books where b_id=".$bookid; 
    $result=mysql_query($str); 
    $row=mysql_fetch_array($result); 
    if(isset($_SESSION['$bookid']['id'])){ 
    //判断购物车是否有这个书,有的话数量加1  
    $_SESSION['$bookid']['booknum']++; 
    $_SESSION['$bookid']['booktotal']=$_SESSION['$bookid']['booktotal'] + $_SESSION[$row['b_id']]['bookprice']; 
    } else{ 
    $_SESSION['$bookid']['id']=$row['b_id']; 
    $_SESSION['$bookid']['bookname']=$row['b_name']; 
    $_SESSION['$bookid']['bookprice']=$row['b_price']; 
    $_SESSION['$bookid']['booknum']=1; 
    $_SESSION['$bookid']['booktotal']=$_SESSION['$bookid']['booktotal'] + $_SESSION['$bookid']['bookprice']; 
    //记录总共有几种书  
    if(isset($_SESSION['itemNum']))
    $_SESSION['itemNum']++; 
    else
    $_SESSION['itemNum'] = 1; 

    echo $_SESSION['itemNum']; ?> 
      

  3.   

    $_SESSION['itemNum'];     //记录总共有几种书改为
    if(! is_set($_SESSION['itemNum'])) $_SESSION['itemNum'] = 0;
      

  4.   

    if(!isset($_SESSION['admin'])&&$_SESSION['admin']==false){ 
    改成
    if(!isset($_SESSION['admin'])||$_SESSION['admin']==false){ 
      

  5.   

    else里的$_SESSION['itemNum']++应该是$_SESSION['itemNum'] == 1;
      

  6.   

    还有else 里的总价应该转下类型再乘