好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php购物车代码 - php高级应用

php购物车代码

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

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

<?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" >       //开源代码phpfensi测试数据       <input type= "submit"  value= "添加至购物栏" >      </form>  <?php } ?>  </body>  </html> 

查看购物车的商品,代码如下:

<?php  //   // cart.php:  HdhCmsTestphpfensi测试数据   //   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>&nbsp;                </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>&nbsp;</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>&nbsp;                </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> 

功能页面,用户把购物车里面的内容保存到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高级应用的详细内容...

  阅读:45次