一,功能介绍
前台主要包括网站首页、商品推荐、最新商品、新闻咨询、商品分类、商品资讯 、评论、登录、注册、加入购物车、结算、个人中心等功能模块 商品推荐、最新商品 在商品推荐、最新商品模块,用户可以查看全部商品信息,选择商品进行添加购物车等操作, 购物车 在购物车模块,用户可以查看购物车信息,进行订单信息修改、结算等操作, 个人中心 在个人中心模块,用户可以修改密码,查看订单信息,对订单进行收货、评价等操作 新闻咨询 在新闻咨询模块,用户可以看到新闻相关信息 登录注册模块 用户可以输入用户名、密码进行注册,并用注册的用户名密码进行登录操作
后台主要包括系分类管理、商品管理、订单管理、用户管理等功能模块。 商品管理 单击【商品管理】链接,进入商品管理界面。对商品管理进行查询、添加、修改、删除等操作 订单管理 单击【订单管理】链接,进入订单管理界面。对订单信息进行查询、管理等操作 用户管理 单击【用户管理】链接,进入用户管理界面。对用户信息进行查询、管理等操作。 分类管理 单击【分类管理】链接,进入分类管理界面。对分类进行查询、添加、修改、删除等操作。
- 前台:
网站首页
商品推荐
最新商品
新闻咨询
商品分类
商品资讯
评论
登录/注册
加入购物车、结算、个人中心
- 后台:
系统设置
分类管理
商品管理
订单管理
评价管理
新闻资讯
用户管理
二,效果展示
三,代码展示
数据库建表语句
商品表 CREATE TABLE `goods` ( `id` int(10) NOT NULL AUTO_INCREMENT, `categoryid` int(4) NOT NULL DEFAULT 0, `pnumber` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `amount` int(11) DEFAULT 0, `cishu` int(11) DEFAULT 0, `mprice` decimal(11, 1) DEFAULT NULL, `sprice` decimal(11, 1) DEFAULT NULL, `content` text CHARACTER SET utf8 COLLATE utf8_general_ci, `apv` int(4) NOT NULL DEFAULT 0, `img` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `status` int(2) NOT NULL DEFAULT 0, `addtime` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, `isnice` int(2) NOT NULL DEFAULT 0, `mark1` text CHARACTER SET utf8 COLLATE utf8_general_ci, `pid` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = MyISAM AUTO_INCREMENT = 141 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 订单表 CREATE TABLE `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, `onumber` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `userid` int(11) NOT NULL DEFAULT 0, `sex` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `address` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `tel` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `shfs` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `zffs` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `content` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `addtime` timestamp(0) DEFAULT CURRENT_TIMESTAMP, `xname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `zt` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `total` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `kuaidi` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `knumber` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `nickname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = MyISAM AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 等
- 注册功能实现
<?php include_once("header.php"); //如果表单提交为post,设$data为一个数组,把post的数据放到数组里 if ($_POST){ //判断用户名是否重复 $row = db_get_row("select * from user where account='". $_POST["account"] ."'"); if ($row["id"]) { goBakMsg("用户名已存在"); die; } //把post的数据放到数组里 $data = array(); $data["account"] = "'". $_POST["account"] ."'"; $data["nickname"] = "'". $_POST["nickname"] ."'"; $data["email"] = "'". $_POST["email"] ."'"; $data["sex"] = "'". $_POST["sex"] ."'"; $data["tel"] = "'". $_POST["tel"] ."'"; $data["password"] = "'". $_POST["password"] ."'"; $data["address"] = "'".$_POST["address"]."'"; //添加数据 db_add("user", $data); urlMsg("注册成功", __BASE__."/login.php"); die; } ?>
- 购物车功能实现
<?php include_once("header.php"); check_loginuser(); $page = $_REQUEST["page"]?$_REQUEST["page"]:"1"; $whereSql = " userid=".$_SESSION["id"]; $page = $_REQUEST["page"]?$_REQUEST["page"]:"1"; $list = db_get_page("select * from cart where $whereSql order by id desc", $page,12); if ($page*1>$list["page"]*1){ $page = $list["page"]; } $Page = new PageWeb($list["total"],$list["page_size"], "", $page); $page_show = $Page->show(); $cat_title = "我的购物车"; if($_REQUEST["act"]=="yes"){db_dela("cart","userid=".$_SESSION["id"]); goBakMsg("清空成功"); } ?>
- 商品收藏功能
<?php include_once("common/init.php"); if (!$_SESSION["id"]) { goBakMsg("登录后才可加入"); die; } $row = db_get_row("select * from shoucang where userid=". $_SESSION["id"] ." and goodsid=". $_REQUEST["id"] .""); if ($row["id"]) { goBakMsg("你已经加入过!!"); die; } $data = array(); $data["userid"] = "'". $_SESSION["id"] ."'"; $data["goodsid"] = "'". $_REQUEST["id"] ."'"; db_add("shoucang", $data); goBakMsg("操作成功"); ?>
- 用户资料编辑
<?php include_once("common/init.php"); check_loginuser(); $row = db_get_row("select * from user where id=".$_SESSION["id"]); if ($_POST){ $data = array(); $data["nickname"] = "'".$_POST["nickname"]."'"; $data["tel"] = "'".$_POST["tel"]."'"; $data["sex"] = "'".$_POST["sex"]."'"; $data["email"] = "'".$_POST["email"]."'"; $data["address"] = "'".$_POST["address"]."'"; db_mdf("user",$data,$_SESSION["id"]); urlMsg("修改成功", __BASE__."/userEdit.php"); } include_once("header.php"); ?> <script type="text/javascript"> function check(){ var email = document.form1.email.value; var emailreg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; if(!emailreg.test(email)){ document.form1.email.focus(); alert("邮箱不符合规则"); return false; } if(document.form1.nickname.value==""){ alert("昵称为必填"); document.form1.nickname.focus(); return false;} var mobile=document.form1.tel.value; if(mobile.length==0) { alert('请输入手机号码!'); document.form1.tel.focus(); return false; } if(mobile.length!=11) { alert('请输入有效的手机号码!'); document.form1.tel.focus(); return false; } var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test(mobile)) { alert('请输入有效的手机号码!'); document.form1.tel.focus(); return false; } }
- 后台商品发布功能实现
<?php include_once("inc.php"); $tb_name = "goods"; if ($_REQUEST["id"]) { $rs = db_get_row("select * from $tb_name where id=". $_REQUEST["id"]); } if ($_POST){ $data = array(); if ($_REQUEST["id"]) { if($_POST["pnumber"]!=$_POST["pnumber1"]){ $row1 = db_get_row("select * from $tb_name where pnumber='". $_POST["pnumber"] ."'"); if ($row1["id"]) { goBakMsg("货号已存在,请重新填写"); die; } } } else { $row1 = db_get_row("select * from $tb_name where pnumber='". $_POST["pnumber"] ."'"); if ($row1["id"]) { goBakMsg("货号已存在,请重新填写"); die; } } $data["title"] = "'".$_POST["title"]."'"; $data["categoryid"] = "'".$_POST["categoryid"]."'"; $data["pnumber"] = "'".$_POST["pnumber"]."'"; $data["amount"] = "'".$_POST["amount"]."'"; $data["mprice"] = "'".$_POST["mprice"]."'"; $data["sprice"] = "'".$_POST["sprice"]."'"; $data["isnice"] = "'".$_POST["isnice"]."'"; $data["content"] = "'".$_POST["content"]."'"; if($_POST["pid"]){$data["pid"] = "'".$_POST["pid"]."'";} if($_POST["mark1"]){$data["mark1"] = "'".$_POST["mark1"]."'";} if(!empty($_FILES['img']['name'])){ $file = $_FILES['img'];//得到传输的数据 //得到文件名称 $name = $file['name']; $type = strtolower(substr($name,strrpos($name,'.')+1)); //得到文件类型,并且都转化成小写 $allow_type = array('jpg','jpeg','gif','png'); //定义允许上传的类型 //判断文件类型是否被允许上传 if(!in_array($type, $allow_type)){ //如果不被允许,则直接停止程序运行 } //判断是否是通过HTTP POST上传的 $upload_path = ROOT_PATH.'/Public/Upload/'; //上传文件的存放路径 //开始移动文件到相应的文件夹 $mu=mt_rand(1,10000000); if(move_uploaded_file($file['tmp_name'],$upload_path.$mu.".".$type)){ $fileName =$mu.".".$type; }else{ //echo "Failed!"; } $data["img"] = "'".$fileName."'"; } if ($_REQUEST["id"]) { db_mdf($tb_name,$data,$_REQUEST["id"]); } else { db_add($tb_name,$data); } urlMsg("提交成功", $tb_name."_list.php?pid=".$_REQUEST["pid"]); die; } ?>
三、项目总结
这是用php+mysql+html+css实现的一个在线购物商城,实现了加购、下单、收藏、评论、发货等核心购物流程,如果有任何问题了可以私信我或者在评论区指出,我们共同学习进步!四、源代码+视频素材
链接:链接:https://pan.baidu.com/s/1tnliO6_XhExS4zj2yXmJAg?pwd=38x1
提取码:38x1