php购物车实现方法
发布时间:2020-12-13 02:19:01 所属栏目:PHP教程 来源:网络整理
导读:《:php购物车实现方法》要点: 本文介绍了:php购物车实现方法,希望对您有用。如果有疑问,可以联系我们。 PHP实战 本篇章节讲解php购物车实现办法.供大家参考研究.具体分析如下: PHP实战 这里我们为你提供个简单的php购物车代码,从增加购物产品
《:php购物车实现方法》要点: PHP实战本篇章节讲解php购物车实现办法.分享给大家供大家参考.具体分析如下: PHP实战这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的,我们不需要数据库,用了txt文本文件来操作用户购物的内容. 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: // 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实战修改购物车的数量,代码如下:
代码如下:
<?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实战功能页面,用户把购物车里面的内容保存到txt数据库,代码如下:
代码如下:
<?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 文件失败"); } ?> 很简单,我们只用了4个文件就实现用php 做好购物车功能,好了这只是一款简单的php购物车代码更复杂的需要考虑更多更好. PHP实战希望本文所述对大家的php程序设计有所赞助. 《:php购物车实现方法》是否对您有启发,欢迎查看更多与《:php购物车实现方法》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |