$_SESSION 问题 赋初值就可以$_SESSION['ses_cart_items']=1;不赋值就是不行,不知道怎么回事 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //在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; 这句才对,就是要这样写 楼上的注意上下文关系。<?phpsession_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'];}?> 不赋值,当然不行了……你疯了,不赋值就是空的,和没有注册有什么区别?你在判断的时候,条件应该是判断是否这个session进行了注册。这个函数在php中有,自己找吧 可以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> Linux下安装了php、mysql和apache但是php无法操作mysql怎么办? php一个表单如何提交到两个数据库 PHP有办法实现这种java的压缩和解压缩吗?amani11进? 谁会php转asp的呀,能否帮忙转个文件? php代码问题 从一个php带参数到另一个php 鼠标选中<li>事件怎么控制? 如何在执行exec("ping $PingDNS", $Info);后取得一个返回值标记ping的结果? 新一代PHP程序, 对抗ASP.NET 关于真静态化的疑问 dom 操作XML 的问题 重写问题
$_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;
这句才对,就是要这样写
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'];
}
?>
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>