


PHP implements the function of adding products to the shopping cart (1)_php example
This article mainly introduces the function of adding products to the shopping cart in PHP in detail. It has a certain reference value. Interested friends can refer to it.
Today I am practicing the shopping cart and submitting orders. I’m a little dizzy writing this, so let’s organize it by the way. This shopping cart is relatively simple. It is used for short-term storage and is not stored in the database. The shopping cart is simply familiar to people who love online shopping. I am writing this. Before entering the shopping cart, we must first conceive. We need to call up a table from the database. Here I use the fruit table, followed by the login table. I use the login table to adjust the user name and password. After everything is ready, there are three situations when you should consider putting it in the shopping cart:
The first situation: There is nothing in the shopping cart
Second case: There is already this product in the shopping cart. When adding it again, the quantity to be considered is 1
Third case: Shopping There is a product in the car, but there is no such product
The following picture is the database table used:
The following is the code for the login page:
<body> <form action="chuli.php" method="post"> <p style="margin-left: 500px; margin-top: 200px; height: 250px; width: 250px; border: 1px dashed black"> <p style="margin-left: 100px; "><h3 id="登录">登录</h3></p> <p style="margin-top: 20px">用户名:<input type="text" name="uid"/></p><br/> <p>密 码:<input type="password" name="pwd"/></p><br/> <p style="margin-left: 180px"><input type="submit" value="登录"/></p> </p> </form> </body>
After the login page is written, you need to enter the processing page and retrieve the user name and password from the database:
<?php session_start(); //开启session 必须要写到第一行 header("Content-type:text/html;charset=utf-8"); $uid=$_POST["uid"]; //从登录页面获取到用户名和密码 $pwd=$_POST["pwd"]; include("DADB.class.php"); $db=new DADB(); $sql="select password from login where username='{$uid}'"; $arr=$db->Query($sql); if($arr[0][0]==$pwd && !empty($pwd)) //判断所填写的密码和取到的密码是一样的,而且密码不能为空 { $_SESSION["uid"]=$uid; header("location:main.php"); } else { echo"登录失败"; }
The login page is as shown in the figure:
Now we are going to enter the main page, and pull out all the fruit information from the database, and then we Next, implement the function of adding to the shopping cart.
<h2 id="大苹果购物网">大苹果购物网</h2> <?php session_start(); include("DADB.class.php"); $db=new DADB(); ?> <table border="1" width="100%" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>水果名称</td> <td>水果价格</td> <td>原产地</td> <td>货架</td> <td>库存量</td> <td></td> </tr> <?php $uid=$_SESSION["uid"]; $sql="select * from fruit"; $arr=$db->Query($sql); foreach($arr as $v) { echo"<tr> <td>{$v[0]}</td> // 从数据库调出我们所需要的内容 <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td>{$v[5]}</td> <td><a href='add.php?ids={$v[0]}'>购买</a></td> //这里的购买相当于添加购物车的功能 </tr>"; } ?> <?php //这里显示的是 购物车有多少产品,和产品的总价格 $ann=array(); if(!empty($_SESSION["gwc"])) { $ann=$_SESSION["gwc"]; } $zhonglei = count($ann); $sum=0; foreach($ann as $k) { $sql1="select price from fruit where ids='{$v[0]}'"; $danjia=$db->Query($sql1); foreach($danjia as $n) { $sum=$sum + $n[0]*$k[1]; } } echo"购物车有<mark>{$zhonglei}</mark>种商品,总价格为<mark>{$sum}</mark>元"; ?> </table> <p> <a href="gouwuche.php" rel="external nofollow" rel="external nofollow" >查看购物车</a> <a href="main.php" rel="external nofollow" rel="external nofollow" >浏览商品</a> <a href="zhanghu.php" rel="external nofollow" rel="external nofollow" >查看账户</a> </p> </body>
The main page is as shown in the picture:
The most important thing is the add shopping cart page
<?php session_start(); $ids = $_GET["ids"]; if(empty($_SESSION["gwc"])) { //1.购物车是空的,第一次点击添加购物车 $arr = array( array($ids,1) ); $_SESSION["gwc"]=$arr; } else { //不是第一次点击 //判断购物车中是否存在该商品 $arr = $_SESSION["gwc"]; //先存一下 $chuxian = false; foreach($arr as $v) { if($v[0]==$ids) { $chuxian = true; } } if($chuxian) { //3.如果购物车中有该商品 for($i=0;$i<count($arr);$i++) { if($arr[$i][0]==$ids) { $arr[$i][1]+=1; } } $_SESSION["gwc"] = $arr; } else { //2.如果购物车中没有该商品 $asg = array($ids,1); $arr[] = $asg; $_SESSION["gwc"] = $arr; } } header("location:gouwuche.php");
This will display the shopping cart page. The shopping cart page code is as follows:
<h2 id="购物车中有以下商品">购物车中有以下商品:</h2> <table cellpadding="0" cellspacing="0" border="1" width="100%"> <tr> <td>商品名称</td> <td>商品单价</td> <td>购买数量</td> <td></td> </tr> <?php session_start(); //$uid=$_SESSION["uid"]; $arr=array(); if(!empty($_SESSION["gwc"])) { $arr=$_SESSION["gwc"]; } include("DADB.class.php"); $db=new DADB(); foreach($arr as $v) { global $db; $sql="select * from fruit where ids='{$v[0]}'"; $att=$db -> Query($sql,1); foreach($att as $n) { echo"<tr> <td>{$n[1]}</td> <td>{$n[2]}</td> <td>{$v[1]}</td> <td><a href='shanchu.php?ids={$v[0]}'>删除</a></td> </tr>";} } ?> </table> <p> <a href="gouwuche.php" rel="external nofollow" rel="external nofollow" >查看购物车</a> <a href="main.php" rel="external nofollow" rel="external nofollow" >浏览商品</a> <a href="zhanghu.php" rel="external nofollow" rel="external nofollow" >查看账户</a> </p> 14 15 </body>
Enter the shopping cart page like this, as shown in the picture:
This is just a relatively simple way to add to the shopping cart, but there are still many links in the middle that are not perfect. , for example, after adding to the shopping cart, the number of products in the database is reduced, and operations such as deleting products in the shopping cart have not yet been performed. These operations will be completed later.
Related recommendations:
Detailed tutorial on making a shopping cart with Ajax PHP
##
The above is the detailed content of PHP implements the function of adding products to the shopping cart (1)_php example. For more information, please follow other related articles on the PHP Chinese website!

PHPsessionshaveseverallimitations:1)Storageconstraintscanleadtoperformanceissues;2)Securityvulnerabilitieslikesessionfixationattacksexist;3)Scalabilityischallengingduetoserver-specificstorage;4)Sessionexpirationmanagementcanbeproblematic;5)Datapersis

Load balancing affects session management, but can be resolved with session replication, session stickiness, and centralized session storage. 1. Session Replication Copy session data between servers. 2. Session stickiness directs user requests to the same server. 3. Centralized session storage uses independent servers such as Redis to store session data to ensure data sharing.

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

Alternatives to PHP sessions include Cookies, Token-based Authentication, Database-based Sessions, and Redis/Memcached. 1.Cookies manage sessions by storing data on the client, which is simple but low in security. 2.Token-based Authentication uses tokens to verify users, which is highly secure but requires additional logic. 3.Database-basedSessions stores data in the database, which has good scalability but may affect performance. 4. Redis/Memcached uses distributed cache to improve performance and scalability, but requires additional matching

Sessionhijacking refers to an attacker impersonating a user by obtaining the user's sessionID. Prevention methods include: 1) encrypting communication using HTTPS; 2) verifying the source of the sessionID; 3) using a secure sessionID generation algorithm; 4) regularly updating the sessionID.

The article discusses PHP, detailing its full form, main uses in web development, comparison with Python and Java, and its ease of learning for beginners.

PHP handles form data using $\_POST and $\_GET superglobals, with security ensured through validation, sanitization, and secure database interactions.

The article compares PHP and ASP.NET, focusing on their suitability for large-scale web applications, performance differences, and security features. Both are viable for large projects, but PHP is open-source and platform-independent, while ASP.NET,


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Zend Studio 13.0.1
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
