澳门新葡亰娱乐官网仅用PHP4 Session实现的迷你购物篮

片段3。创建新的篮子并向其中增加一条项目 ?php // 将项目计数设为1
$ses_basket_items=1; //
填充4个数组的第0个位置,使用从href链接传过来的值 //
链接是在’给你的页面增加链接’部分所讲的 $ses_basket_name[0]=$basket;
$ses_basket_amount[0]=1; $ses_basket_price[0]=$price;
$ses_basket_id[0]=$id; // 在session中注册新的篮子
session_register(ses_basket_items);
session_register(ses_basket_name);
session_register(ses_basket_amount);
session_register(ses_basket_price);
session_register(ses_basket_id); ?
这样将创建一个篮子,将所以的值填在数组第0个位置上,并利用session注册数组。一个篮子诞生了。片段4。填充篮子
?php $basket_position_counter=0; //篮子中的位置 $double=0;
//双重入口标志设为NO if ($ses_basket_items0){ //
检查是否篮子包含的项目中有双重入口 foreach ($ses_basket_name as
$basket_item){ // 遍历数组所包含的名字,检查是否与从href所传来的相配匹
if ($basket_item==$basket){ //
如果在篮子中已经有了一个项目,将flag设为1 $double=1; //
记住项目的位置,将进行更新 $basket_position=$basket_position_counter;
} $basket_position_counter ; //增加篮子中的实际位置 } } // 更新篮子 if
($double==1){ //
如果项目在你的篮子中已经存在则更新在$basket_position处理的数量和位置
$oldamount=$ses_basket_amount[$basket_position];
$ses_basket_amount[$basket_position] ;
$amount=$ses_basket_amount[$basket_position];
$oldprice=$ses_basket_price[$basket_position]; //更新价格
$newprice=($oldprice/$oldamount)*$amount;
$ses_basket_price[$basket_position]=$newprice; }else{ //
如果它不在你的篮子中,则在数组末尾增加新的项目
$ses_basket_name[]=$basket; $ses_basket_amount[]=1;
$ses_basket_price[]=$price; $ses_basket_id[]=$id;
$ses_basket_items ;

主要是购物车部分代码的讲解,和对session操作的php教程代码演示。

<?php
//
// add_item.php:
//  add an item to the shopping cart.
//
session_start();
if (session_is_registered(‘cart’)) {
    session_register(‘cart’);
}

require ‘lib.inc.php’; // loadproducts()

loadproducts(); // load products in $master_products_list

// make $curr_product global
$curr_product = array();

// loop through all the products and pull up the product
// that we are interested in

 

foreach ($master_products_list as $prod_id => $product) {
    if (trim($prod_id) == trim($_get[id])) {
        $curr_product = $product;
    }
}

// register our session
//session_register(‘cart’);
//if(session_is_registered(‘cart’)) echo “已经注册”;

 

if ($_post[ordered]) {  // if they have chosen the product

    array_push($_session[cart][products],
array(trim($_post[id]), $_post[quantity]));
    $_session[cart][num_items] += $_post[quantity];
 
}
?>

<html>
<head>
    <title>
    <?php if ($_post[ordered]) {  ?>
        已经添加 <?php echo $curr_product[name]; ?>
到您的购物篮
    <?php } else {  ?>
        添加 <?php echo $curr_product[name]; ?>
到您的购物篮
    <?php } ?>
    </title>
</head>
<body>
<?php if ($_post[ordered]) {  ?>
    <h1><?php echo $curr_product[name]; ?>
        添加至购物篮成功</h1>

    <a href=”cart.php”>返回</a> 商品列表页面.
<?php }  else {  ?>
    <h1>添加 <?php echo $curr_product[name]; ?>
到您的购物篮</h1>

    <form action=”<?php echo $php_self; ?>”
method=”post”>
    商品名称: <?php echo $curr_product[name]; ?>
    <br>
    商品说明: <?php echo $curr_product[desc]; ?>
    <br>
    商品单价: rmb<?php echo $curr_product[price]; ?>
    <br>
    商品数量: <input type=”text” size=”7″ name=”quantity”>
    <input type=”hidden” name=”id” value=”<?php echo
$_get[id]; ?>”>
    <input type=”hidden” name=”ordered” value=”1″>

    <input type=”submit” value=”添加至购物栏”>
    </form>
<?php } ?>
</body>
</html>

php代码

<?php
//
// cart.php:  the main file
//
session_start();

require ‘lib.inc.php’;
//判断购物篮会话变量cart是否注册,不注册则注册cart变量
if (session_is_registered(‘cart’)) {
    session_register(‘cart’);
}

// 如果购物篮没有初始化,则初始化购物篮
if (!isset($_session[cart][num_items])) {
    $_session[cart] = array(“num_items” => 0,
                  “products”  => array());
}

// from site_lib.inc, loads the $master_products_list array
loadproducts(); //载入物品列表
?>

<html>
<head>
    <title>演示会话跟踪的购物篮程序</title>
</head>

<body>

<h1>欢迎进入网上商店</h1>

<?php
if ($_session[cart][num_items]) {  // if there is something to
show
?>
<h2>当前在购物篮里的物品</h2>
<br>
<table border=”2″ cellpadding=”5″ cellspacing=”2″>
<tr>
    <th>
        商品名称
    </th>
    <th>
        商品说明
    </th>
    <th>
        单价
    </th>
    <th>
        数量
    </th>
    <th>
         
    </th>
</tr>
<?php
  
    // loop through the products
    foreach ($_session[cart][products] as $i => $product) {
        $product_id = $product[0];
        $quantity   = $product[1];

        $total += $quantity *
                 
(double)$master_products_list[$product_id][price];
?>
<tr>
    <td>
        <?php echo $master_products_list[$product_id][name];
?>
    </td>
    <td>
        <?php echo $master_products_list[$product_id][desc];
?>
    </td>
    <td>
        <?php echo
$master_products_list[$product_id][price]; ?>
    </td>
    <td>
        <form action=”change_quant.php” method=”post”>
        <input type=”hidden” name=”id” value=”<?php echo $i;
?>”>
        <input type=”text” size=”3″ name=”quantity”
                value=”<?php echo $quantity; ?>”>
    </td>
    <td>
        <input type=”submit” value=”数量更改”>
        </form>
    </td>
</tr>
<?php
    }
?>
<tr>
    <td colspan=”2″ align=”right”>
       <b>合计: </b>
    </td>
    <td colspan=”2″>
        rmb:<?php echo $total; ?>
    </td>
 <td> </td>
</tr>
</table>
<br>
<br>
<?php
}
?>

<h2>商店待出售的商品</h2>
<br>
<i>
    我们提供以下商品待售:
</i>
<br>
<table border=”2″ cellpadding=”5″ cellspacing=”2″>
<tr>
    <th>
        商品名称
    </th>
    <th>
        商品说明
    </th>
    <th>
        单价
    </th>
    <th>
         
    </th>
</tr>
<?php
    // show all of the products
    foreach ($master_products_list as $product_id => $item) {
?>
<tr>
    <td>
        <?php echo $item[name]; ?>
    </td>
    <td>
        <?php echo $item[desc]; ?>
    </td>
    <td>
        $<?php echo $item[price]; ?>
    </td>
    <td>
        <a href=”add_item.php?id=<?php echo $product_id;
?>”>
            添加至购物篮
        </a>
    </td>
</tr>
<?php
    }

?>
</table>

购物车

<?php
//
// change_quant.php:
//   change the quantity of an item in the shopping cart.
//
session_start();
if (session_is_registered(‘cart’)) {
    session_register(‘cart’);
}

// typecast to int, making sure we access the
// right element below
$i = (int)$_post[id];

// save the old number of products for display
// and arithmetic
$old_num = $_session[cart][products][$i][1];

if ($_post[quantity]) {
    $_session[cart][products][$i][1] = $_post[quantity];
//change the quantity
} else {
    unset($_session[cart][products][$i]); // send the product
into oblivion
}

// update the number of items
$_session[cart][num_items] = ($old_num >$_post[quantity])
?
                   $_session[cart][num_items] –
($old_num-$_post[quantity]) :
                   $_session[cart][num_items] +
($_post[quantity]-$old_num);
?>

<html>
<head>
    <title>
        数量修改
    </title>
</head>
<body>
    <h1> 将数量: <?php echo $old_num; ?> 更改为
         <?php echo $_post[quantity]; ?></h1>
    <a href=”cart.php”>返回</a> 商品列表页面.
</body>
</html>

打开文件

<?php
//物品数组
$master_products_list = array();

//载入物品数据函数
function loadproducts() {
    global $master_products_list;
    $filename = ‘products.txt’;

    $fp = @fopen($filename,
“r”)
        or die(“打开 $filename 文件失败”);
    @flock($fp, 1)
        or die(“锁定 $filename 文件失败”);

    //读取文件内容
    while ($line = fgets($fp, 1024)) {
        list($id, $name, $desc, $price) = explode(‘|’, $line);
//读取每行数据,数据以| 格开
        $id = trim($id); //去掉首尾特殊符号
        $master_products_list[$id] = array(“name” => 
$name, //名称
                                           “desc” => 
$desc, //说明
                                           “price” =>
$price); //单价
    }

    @fclose($fp)  //关闭文件
        or die(“关闭 $filename 文件失败”);
}
?>

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图