Heim > php教程 > php手册 > php购物车代码

php购物车代码

WBOY
Freigeben: 2016-05-25 16:38:33
Original
2009 Leute haben es durchsucht

这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的,我们不需要数据库,用了txt文本文件来操作用户购物的内容.

增加商品到购物车,代码如下:

<?php 
// 
// add_item.php: 
//  Add an item to the shopping cart. 
// 
session_start(); 
if (session_is_registered(&#39;cart&#39;)) { 
    session_register(&#39;cart&#39;); 
} 
require &#39;lib.inc.php&#39;; // 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(&#39;cart&#39;); 
//if(session_is_registered(&#39;cart&#39;)) 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"> 
    //开源代码phprm.com 
    <input type="submit" value="添加至购物栏"> 
    </form> 
<?php } ?> 
</body> 
</html> 
查看购物车的商品,代码如下:
<?php 
// 
// cart.php:  www.phprm.com 
// 
session_start(); 
require &#39;lib.inc.php&#39;; 
//判断购物篮会话变量cart是否注册,不注册则注册cart变量 
if (session_is_registered(&#39;cart&#39;)) { 
    session_register(&#39;cart&#39;); 
} 
// 如果购物篮没有初始化,则初始化购物篮 
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(&#39;cart&#39;)) { 
    session_register(&#39;cart&#39;); 
} 
// 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>
Nach dem Login kopieren


功能页面,用户把购物车里面的内容保存到txt数据库,代码如下:

<?php 
//物品数组 
$master_products_list = array(); 
//载入物品数据函数 
function LoadProducts() { 
    global $master_products_list; 
    $filename = &#39;products.txt&#39;; 
    $fp = @fopen($filename, "r") 
        or die("打开 $filename 文件失败"); 
    @flock($fp, 1) 
        or die("锁定 $filename 文件失败"); 
    //读取文件内容 
    while ($line = fgets($fp, 1024)) { 
        list($id, $name, $desc, $price) = explode(&#39;|&#39;, $line); //读取每行数据,数据以| 格开 
        $id = trim($id); //去掉首尾特殊符号 
        $master_products_list[$id] = array("name" =>  $name, //名称 
                                           "desc" =>  $desc, //说明 
                                           "price" => $price); //单价 
    } 
    @fclose($fp)  //关闭文件 
        or die("关闭 $filename 文件失败"); 
} 
?>
Nach dem Login kopieren

很简单,我们只用了4个文件就实现用php 做好购物车功能,好了这只是一款简单的php购物车代码更复杂的需要考虑更多更好.


本文地址:

转载随意,但请附上文章地址:-)

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage