一,功能介绍
前台主要包括网站首页、商品推荐、最新商品、新闻咨询、商品分类、商品资讯 、评论、登录、注册、加入购物车、结算、个人中心等功能模块 商品推荐、最新商品 在商品推荐、最新商品模块,用户可以查看全部商品信息,选择商品进行添加购物车等操作, 购物车 在购物车模块,用户可以查看购物车信息,进行订单信息修改、结算等操作, 个人中心 在个人中心模块,用户可以修改密码,查看订单信息,对订单进行收货、评价等操作 新闻咨询 在新闻咨询模块,用户可以看到新闻相关信息 登录注册模块 用户可以输入用户名、密码进行注册,并用注册的用户名密码进行登录操作
后台主要包括系分类管理、商品管理、订单管理、用户管理等功能模块。 商品管理 单击【商品管理】链接,进入商品管理界面。对商品管理进行查询、添加、修改、删除等操作 订单管理 单击【订单管理】链接,进入订单管理界面。对订单信息进行查询、管理等操作 用户管理 单击【用户管理】链接,进入用户管理界面。对用户信息进行查询、管理等操作。 分类管理 单击【分类管理】链接,进入分类管理界面。对分类进行查询、添加、修改、删除等操作。
- 前台:
网站首页
商品推荐
最新商品
新闻咨询
商品分类
商品资讯
评论
登录/注册
加入购物车、结算、个人中心
- 后台:
系统设置
分类管理
商品管理
订单管理
评价管理
新闻资讯
用户管理
二,效果展示
三,代码展示
数据库建表语句
商品表 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