大家好,今天给大家介绍基于php+mysql+apache的二手物品交易网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。
文章目录:
二手信息网站,为二手物品交易提供了网上平台。如今,随着电子商务的不断发展完善,大学校园也需要一个能为学生提供二手物品交易的专用网站,以便发布各种商品信息。
本设计具有一般电子商务的功能,且体现出校园风格。该系统提供的功能包括注册、查询信息、发布信息、找回密码等。本系统的特点在于应用了PHP技术。它是一种简单的动态脚本语言,具有开放源码、执行速度快的特点。该技术还支持广泛的数据库连接 ,具有大量的扩展库,安全性能高,易学易用。
本文首先介绍了该系统的可行性和应用工具,并就系统的需求性和PHP的优势进行了阐述;接着进行系统分析,并设计了本系统所用到的基于MY SQL数据库的数据表结构;然后对该系统各功能模块进行了详细设计;最后,针对系统在代码优化和加密方面的不足做出总结。
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:9818个字31页
包含内容:整套源码+完整毕业论文
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 引 言
1.1 课题的背景
省略
为了解决这种资源的浪费,所以开发了校园二手信息网站,借助于低交易成本的Internet。为大家提供一个低成本、快速迅捷的信息发布平台。新系统开发过程中严格按照系统开发步骤进行,在系统调研、分析、设计到系统的实施的全过程中,力求其科学性和合理性。
1.2 可行性分析
可行性分析的任务是从技术上、经济上、社会上、法律上分析需要解决的问题是否存在可行的解。
1.2.1 技术可行性
该系统采用BS模式设计,在高校的校园网上运行。学生可以通过接入校园网的计算机,访问二手信息网站。本系统是一个比较普通的BS模式的信息发布系统,在技术上具有可行性。
1.2.2 经济可行性
现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为大家节约了大量的资源,为此主要表现有以下几个方面:
本系统的运行可以代替废物买卖贴示,避免一些不必要的麻烦;
本系统的运行可以节省许多资源;
本系统的运行可以大大的提高废物再利用;
本系统可以使敏感文档更加安全,等等。
所以,本系统在经济上是可行的。
1.2.3 运行可行性
系统为一个小型的信息管理系统,所耗费的资源非常的小,一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
1.2.4 法律可行性
系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
2 理论基础知识介绍
2.1 PHP技术
2.1.1 PHP简介
PHP是一种简单的、面向对象的、解释型的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。PHP具有和Java类似的Class关键字。因为不需要虚拟机,以致速度比Java快5倍。PHP正迅速变成一种标准的、多用途的、面向对象的脚本语言。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。
PHP是Hypertex tPre-Processor(超文本预处理器)的缩写,它是一种服务器端的HTML脚本编程语言。PHP语法上与C相似,可运行在Apache, Netscape/iPlanet,和Microsoft IIS Web服务器上。PHP作为一种工具,可以让你创建动态的Web页面。应用PHP的网页与常规的HTML页面并无二致,你可以用同样的方式来创建、编辑它们。PHP允许你直接在HTML文件里写入简单的脚本,这一点与JavaScript非常相似。而不同的是,PHP不依赖于浏览器,是服务器端的语言,而JavaScript却是一种客户端的嵌在HTML中的语言。概念上,PHP与Netscape的LiveWirePro产品,Microsoft的ASP以及Sun Microsystem的JSP相似。
1 PHP的强劲之处在于:
PHP是一项最优秀的技术。其它技术,如PERL,Python,VB Script,ASP相对来说,都是陈旧低劣的。即使是Java/JSP,也在PHP之下。其特点如下:
兼容性:PHP5.0程序可与旧版本兼容;
易学易用:PHP的语法类似C及Per,所以有程序编写经验者很快即可上手;
开放的来源:PHP的原始码及编译后文件可免费下载;
可扩充:使用者可新增模块以扩充PHP引擎之功能;
跨平台:PHP程序可在数种主要作业平台及Web服务器上执行。
支持多种数据库:PHP支持十余钟数据库,且编写存取数据库资料的程序相当容易。
PHP是最好的,因为它面向对象,并且吸收了C/C++/Java/PERL的精华。PHP可以替代PERL,Python,Java,C,C++,AWK,Unix Shell脚本,Visual Basic和其它语言。PHP直接运行,而且是由C写成的。PHP可以运行在Apache,Microsoft IIS等多种Web服务器上。PHP太容易使用了,你可以用它在非常短的时间里,非常迅速的开发出非常复杂的Web。
PHP最大的优势在于PHP自身完全是由C语言写成的,因此可广泛运行于各种平台之上,如BeOS,UNIX,MS Windows,Apple Macintosh,IBMOS/2以及其它更多的操作系统。而Windows下开发的PHP代码也可以不经过任何改变,就用于UNIX/Linux上。
2 PHP网页执行流程
PHP与传统网页不同,一般的HTML网页在加载时,会直接将网页全部传到使用者的计算机中,然而在使用者的计算机上执行程序,展示内容;PHP则是刚好相反,它主要的用途是在网站服务器端的网页开发,程序员可以通过程序的控制,让网站与访问者交互,进而设计出迷人的动态网页。例如:会员登录、资料认证网页等。如下图:
图1 PHP网页执行流程
2.1.2 PHP安装
1、下载PHP安装程序 http://www.php.net/downloads.php最新版的为PHP5.1 ,Windows的PHP安装分为两种方式,一种是源代码安装方式,一种是EXE安装方式,双击即可安装。本文主要说一下源代码安装过程。
下载“PHP-5.0.3-Win32.rar”。然后解压缩下载到的 RAR文件到c:\php
2、复制 c:\php\php5ts.dll 到 c:\windows\system32。(有时候为了方便,在PHP文件夹中点击搜索*.dll把搜索到的所有文件夹都复制到system32中也可以)复制 c:\php\php.ini-recommended(或者是php.ini-dist)为 c:\windows\php.ini然后打开 c:\windows\php.ini修改如下几个地方:
如果是在生产服务器上,可以不用修改下面这两行
error_reporting=E_ALL & ~E_NOTICE
display_errors = On(这里是修改PHP的错误提示,OFF为不提示,有些数据库链接非错误信息也会被PHP当做错误信息输出,建议用作Web服务器的关闭!)
指示 PHP 扩展库所在文件夹。
extension_dir="c:\php\ext
以下两个是超时时间:一般是60-120。
max_execution_time=90
max_input_time=90
post_max_size=8M(6-10M最佳)
upload_max_filesize=8M(上传附件大小最大)
default_socket_timeout=90(端口时间60-120)
session.gc_maxlifetime=3600(session默认存活时间,秒)
session.save_path=“c:\php\sessiondata”(Session的存储目录)
extension=php_mysql.dll(支持MySQL数据库)
extension=php_gd2.dll(支持生成真彩图片)
3 验证安装
用记事本写几行代码:
保存为网站根目录下为phpinfo.php文件。然后启动浏览器,访问http://localhost/phpinfo.php,如果看到如下画面就证明PHP安装成功了!
图2 PHP信息页面
2.2 MySQL 简介
MySQL是一个广受Linux社区人们喜爱的半商业的数据库。MySQL是可运行在大多数的Linux平台(i386,Sparc,etc),以及少许非Linux甚至非Unix平台。
2.2.1 MySQL 简介
省略
2.2.2 数据库引擎
MyISAM强调了快速读取操作,这是为什么MySQL受到了Web开发如此青睐的主要原因:在Web开发中所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商(InternetPresenceProvider,IPP)只允许使用MyISAM格式。
MyISAM存储格式自版本3.23以来是MySQL中的缺省类型,它有下列特点:
如果操作系统自身允许更大的文件,那么文件比ISAM存储方法的大。
数据以低字节优先的机器独立格式存储。这表示可将表从一种机器拷贝到另一种机器,即使它们的体系结构不同也可以拷贝。
数值索引值占的存储空间较少,因为它们是按高字节优先存储的。索引值在低位字节中变化很快,因此高位字节更容易比较。
AUTO_INCREMENT处理比ISAM的表更好。
减少了几个索引限制。例如,可对含NULL值的列进行索引,还可以对BLOB和TEXT类型的列进行索引。
为了改善表的完整性检查,每个表都具有一个标志,在myisamchk对表进行过检查后,设置该标志。可利用myisamchk-fast跳过对自前次检查以来尚未被修改过表的检查,这样使此管理任务更快。表中还有一个指示表是否正常关闭的标志。如果服务器关闭不正常,或机器崩溃,此标志可用来检测出服务器起动时需要检查的表。
2.3 Apache简介
Apache是世界使用排名第一的Web服务器,它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器。经过多次修改,他成为了世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache服务器拥有以下特性:
支持最新的HTTP/1.1通信协议;
拥有简单而强有力的基于文件的配置过程;
支持通用网关接口;
支持基于IP和基于域名的虚拟主机;
支持多种方式的HTTP认证;
集成Perl处理模块;
集成代理服务器模块;
支持实时监视服务器状态和定制服务器日志;
支持服务器端包含指令(SSI);
支持安全Socket层(SSL);
提供用户会话过程的跟踪;
支持Fast CGI;
通过第三方模块可以支持Java Servlets。
3 系统分析与数据库设计
3.1 系统功能需求分析
根据一般电子商务系统功能分析,将系统分为管理员、用户两大模块。系统管理员模块包括:系统配置管理、会员信息管理、网站新闻管理、物品信息管理、管理员管理、登录日志管理。用户模块包括:安全登录、找回密码、查询信息、发布信息、会员注册、物品类别、物品信息管理、会员信息修改。刚进入网站的非会员能够在此网站浏览和搜索信息,不仅能浏览二手信息还能浏览到热门信息。经过注册成为会员便能发布信息。此系统还考虑到用户利用穷举法破解密码,专门设置了用户和管理员登录日志,以便及时了解和防范。
3.2 系统模块关系图
根据系统功能需求建立的模块关系图如下图:
图3 系统模块关系图
3.3 系统E-R图
本实例根据上面的模块关系图规划出的实体有管理员、二手信息机及新闻、用户、会员实体、各实体的E-R图及其关系描述如下(带下划线的为主键):
超级管理远实体E-R图同管理员实体E-R图类似,无权限属性(省略)。
各实体的关系E-R图描述如下:
图8 实体和实体之间的关系E-R图
3.5 系统安全
MD5是在Web应用程序中最常用的密码加密算法。由于MD5是不可逆的,因而经过MD5计算得到后的密文,不能通过逆向算法得到原文。
所谓MD5,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前"压缩"成一种保密的格式,关键之处在于——这种"压缩"是不可逆的。
在Web应用程序中使用MD5加密文本密码的初衷,就是为了防止数据库中保存的密码不幸泄露后被直接获得。但攻击者不但拥有数据量巨大的密码字典,而且建立了很多MD5原文/密文对照数据库,能快速地找到常用密码的MD5密文,是破译MD5密文的高效途径。然而,MD5密文数据库所使用的是最常规的MD5加密算法:原文–>MD5–>密文。因此,使用字符串次序干涉MD5算法,使现成的MD5密文数据库无所作为。此函数是把MD5运算后的密文字符串的顺序调转后,再进行一次MD5运算。函数代码如下:
function md5_5($psw)
{ //得到数据的密文
$ psw = md5($psw);
//再把密文字符串的字符顺序调转
$ psw = strrev($psw);
//最后再进行一次MD5运算并返回
return md5($psw);
}
4 系统的实现
4.1 系统的主要功能
归纳起来,系统的功能大约有以下几点:用户注册,信息查询,发布信息,找回密码等。
4.1.1 注册
为了实现不同地域的学生通过网络、不择时间地自主填写并上传自己的基本档案(不合要求的档案可以由管理员及时清除),需要录入基本的个人信息。
1.步骤:
(1)开始注册;
(2)填写个人信息;
(3)提交(如失败返回填写页面重填写;如果重名错误,显示提示信息);
(4)进入登录界面;
(3)登录成功,进入主界面。
2.主要验证代码:
//值存在则继续执行
if(($_GET["ac"]=="in")and(isset($_POST["user_name"])))
{ //判断验证码是否正确
if($_POST["ac_uthnum"]==$_SESSION["user_authnum"])
{
$user_name=$_POST["user_name"];
$user_name=trim($user_name);
$user_pass1=$_POST["user_pass"];
$user_pass1=trim($user_pass1);
$user_pass=md5_5($user_pass1);//密码进行MD5加密
$user_question=$_POST["user_question"];
$user_angser1=$_POST["user_angser"];
$user_angser1=trim($user_angser1);
$user_angser=md5_5($user_angser1);//密码进行MD5加密
$user_school=$_POST["user_school"];
$user_phone=$_POST["user_phone"];
$user_mphone=$_POST["user_mphone"];
$user_qq=$_POST["user_qq"];
$user_email=$_POST["user_email"];
$user_kt="1";
//查询是否存在当前注册用户名
$query="select count(*) count from ershou_user where user_name='$user_name'";
$result=mysql_query($query);
while($info=mysql_fetch_array($result))
{ $count=$info["count"]; }
if($count==0){//不存在才执行注册
$sqladd = "INSERT INTO ershou_user SET user_name='$user_name',
user_pass='$user_pass',
user_question='$user_question',
user_angser='$user_angser',
user_school='$user_school',
user_phone='$user_phone',
user_mphone='$user_mphone',
user_qq='$user_qq',
user_email='$user_email',
user_kt='$user_kt',
user_date=NOW()";
else{//存在相同用户名则重新填写
echo '
该会员已存在 返回重新填写
';}
}
图10 用户注册窗口
4.1.2 搜索信息
为了实现快速浏览网站信息,各用户可以根据所须信息类别并填写查询关键字,很快的找出需要的信息。
1.步骤:
(1)填写信息类别;
(2)修改或删除信息类别;
(3)浏览信息类别。
2.主要代码:
$sql ="select count(*) count from ershou_wupin where bclass_name='$bclass_name' and wupin_name like '%$searchcontent%'";
$result=mysql_query($sql) or die(mysql_errno().": ".mysql_error()."\n");
$rs=mysql_fetch_object($result);
$recountCount=$rs->count;
$show=20;
$totalPage=ceil($recountCount/$show);
$page = (isset($_GET['page']) && $_GET['page']>=0)? $_GET['page']: 0;
$isLast = ($page==($totalPage-1))? true: false;
$hasNoPre = ($page==0)? true: false;
$hasNoNext = ($page==$totalPage-1)? true: false;
$isFirst = ($page==0)? true:false;
$start = $page*$show;
if($recountCount==0){ //搜索结果不为0则显示未找到
echo '未找到! ';}
else{
$sqlwupin="select * from ershou_wupin where bclass_name='$bclass_name' and wupin_name like '%$searchcontent%' ORDER BY wupin_time desc limit $start,20";
$resultwupin = mysql_query($sqlwupin) or die(mysql_errno().": ".mysql_error()."\n");
while($rswupin=mysql_fetch_object($resultwupin)){
$wupin_name=$rswupin->wupin_name;
$wupin_time=$rswupin->wupin_time;
$date_format=date("m/d",strtotime($wupin_time));
$wid=$rswupin->wid;
echo '
['.$rswupin->class_name.']
.$wid.'" target="_blank">
'.TrimChinese($wupin_name,"80").'
('.$date_format.') ';}}
图11 搜索窗口
4.1.3 发布信息
实现用户发布二手信息,建立一个简单易操作的信息发布平台。
1.步骤:
(1)输入标题;
(2)选择类别;
(3)输入内容;
(4)选择有效标志。
2.主要代码:
//处理内容提交
if(($_GET["ac"]=="in")&&(isset($_POST["wupin_name"]))){
$wupin_name=$_POST["wupin_name"];
$class_name=$_POST["class_name"];
$wupin_nr=$_POST["wupin_nr"];
$wupin_img=$_POST["wupin_img"];
$user_name=$_POST["user_name"];
$wupin_time=$_POST["wupin_time"];
$wupin_guoqi=$_POST["wupin_guoqi"];
//查询所属大类的id号
$sqlbclass="select * from ershou_class where class_name='$class_name'";
$resultbclass=mysql_query($sqlbclass);
while($infobclass=mysql_fetch_array($resultbclass))
{ $class_cid=$infobclass["class_cid"];}
//根据大类的id号 查询出大类名称
$sqlbclass1="select * from ershou_class where cid='$class_cid'";
$resultbclass1=mysql_query($sqlbclass1);
while($infobclass1=mysql_fetch_array($resultbclass1))
{ $bclass_name=$infobclass1["class_name"];}
$sqlup = "INSERT INTO ershou_wupin SET
bclass_name='$bclass_name',
wupin_name='$wupin_name',
class_name='$class_name',
wupin_nr='$wupin_nr',
user_name='$user_name',
wupin_guoqi='$wupin_guoqi',
wupin_time=NOW()";
if(@mysql_query($sqlup)) {
msg("增加成功!","#ff0000");
echo '';
}
else {
echo"Error: "
.mysql_error()."";
}
}?>
图12 发布信息窗口
4.1.4 密码找回
实现找回密码,大意丢失密码的拥护根据所须填写注册时的问题答案,就能更改密码。
1.步骤:
(1)填写用户名;
(2)填写答案跟新密码;
(3)提交密码。
2.主要代码如下:
$user_name1=$_POST["user_name"];//前页隐藏表单提交过来的的当前用户名
$user_angser2=$_POST["user_angser"];
$user_name1=trim($user_name1);
$user_angser2=trim($user_angser2);
$user_angser1=md5_5($user_angser2);//填写的答案进行加密 以去和数据库的值对比
$user_pass2=$_POST["user_pass1"];//读取新密码
$user_pass2=trim($user_pass2);
$user_pass1=md5_5($user_pass2);//加密
$sql="select * from ershou_user WHERE user_name='$user_name1'";
$result = mysql_query($sql) or die(mysql_errno().": ".mysql_error()."\n");
$rs=mysql_fetch_object($result);
$user_angser=$rs->user_angser;
if($user_angser!=$user_angser1){//数据库答案与输入的不相同 就提示
echo '
答案错误!请返回 ';}
//输入的答案正确和输入了新密码就提交修改的用户密码
elseif($user_angser1==$user_angser)
{
$sqlup="UPDATE ershou_user SET user_pass='$user_pass1' where user_name='$user_name1'";
if(@mysql_query($sqlup)) {
echo '';
msg("修改成功,返回登录","#ff0000");
echo '';
}
else {
echo"Error: "
.mysql_error()."";
}
}
?>
图13 找回密码窗口
4.1.5 数据库连接代码
######MySQL数据库信息######
$DBhost = "localhost"; //主机名
$DBuser = "root"; //用户名
$DBpass = ""; //密码
$DBname = "ershou"; //数据库名
mysql_connect($DBhost,$DBuser,$DBpass) or die("无法连接到数据库!");
mysql_query("SET NAMES GBK");
mysql_select_db ($DBname);
?>
4.2 创建界面
1.首页:
网站首页是用户进入系统的第一个界面,因此,简洁、友好、清晰醒目是设计时要考虑的风格。样式如图所示:
图14 系统首页
2.管理员管理主界面:
管理员输入正确地用户名和口令后,就可进入管理主界面。管理主界面是管理员维护网站使用的界面,因此要求简单明了,容易操作。样式如下图:
图15 管理员管理界面
5 系统测试
5.1 本地服务器测试
本系统是基于Windows平台,在PHP、MYSQL、Apache的环境下运行的;启动Apache应用服务器,打开Internet Explorer,在URL地址中输入http://localhost,即可打开系统首页。经过测试,本系统已经能够顺利完成系统要求的基本功能,达到预期目标。
5.2 远程服务器测试
在Linux、PHP、MYSQL、Apache的环境下;用户远程访问此系统,页面会出现乱码。就此问题经过如下分析,并给出解决方案:
系统显示信息时出现了中文文字显示的问题。系统文件乱码的出现是由于编码(charset)设置错误,导致浏览器以错误的编码来解析。
此系统测试时遇到的主要是数据库连接编码,指的是进行数据库操作时以哪种编码与数据库传输数据,由于Linux操作系统上数据库采用UTF8编码,而网页的页面申明编码是GB2312。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:
Mysql_query (“SET NAMES GBK”);
来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。
此问题解决后,继续测试系统。能够顺利完成系统要求的基本功能,系统在远程服务器上运行成功。
结 论
省略
通过对校园二手信息网站的开发,本人对PHP和MySQL都有了更深刻的了解,对其优越性和方便灵活性有了更深的体会。第一次完整地经历了一次项目开发,使得本人对软件开发及项目管理的过程有了实际的感受。
本文的主要工作有:
1) 描述了当前C2C模式的网站的广阔前景及其相比于B2C模式的优越性所在,对网站的开发模式进行了简单分析和总结,指出了采用PHP + Apache + MySQL模式进行开发的优越性;
2) 模拟了校园二手信息网站的开发需求,提出了比较详细的解决方案,阐明了系统的功能模块的划分及相互之间的关系,并详细描述了每个模块的实现过程或者实现方法。
本系统也有一些不尽人意的地方,比如需求分析并没有非常细致全面,离真正的商业软件还有一定的差距;源代码未进行优化和加密;界面未进行美术加工;这些都有待今后的完善。
通过本次毕业设计,我充分体会到理论与实践之间的重要联系。在实践的过程中我学到了很多的知识,对PHP程序语言和MY SQL数据库技术有了进一步的了解运用也更为熟练。同时我也发现了自己许多不足之处,有待在将来的工作中进一步的学习,能够掌握和运用更多的知识。
参考文献
[1]数字文化.PHP4交互式网页数据库实战手册[M].北京:清华大学出版社,2001。
[2]邱兆民.彻底研究php网络资料库[M].北京:电子工业出版社,2001。
[3]李立功,赵杨.MySql程序设计与数据库管理[M]. 北京:科学出版社,2001。
[4]周浩. PHP4与电子商务网站开发实战[M].北京:人民邮电出版社,2001。
[5]秦涛,曾文玉. 精通PHP5应用开发[M]. 北京:人民邮电出版社, 2007。
[6](美)厄尔曼著,陈宗斌等译.PHP与MySQL基础教程[M].北京:人民邮电出版社,2007。
[7](美)Rasmus Lerdorf, Kevin Tatroe著.陈浩译.PHP程序设计[M].北京:电子工业出版社,2007。
[8]陈湘扬,陈国益著.PHP5+MySQL网页系统开发设计[M].北京:电子工业出版社,2007。
致 谢
省略
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于php+mysql+apache的二手物品交易网站设计与实现(源码+文档)_php_mysql_二手物品交易信息网站.zip |