博主刚刚接到了一个小活,要求做一个二手交易市场,因为“客户”是个初学者,要求用最简单的语法来实现,正好可以复习一下相关知识。因为先前有相关的开发经验,因此较快的将其完成了,以下是博主在开发过程中的一些经验和心得,在这里分享给大家:
首先制作首页,“客户”那边做出了一个前台界面要我完成后面的程序(代码我就不贴出来了,毕竟是人家写的)
<?PHP
session_start();
require 'fun.PHP';
if($_SERVER['REQUEST_METHOD']=='POST'){
$username=$_POST['username'];
$password=$_POST['password'];
if(($username=='')||($password==''))
{ echo $username."<br>".$password."<br>";
header('refresh:3;url=index.html');
echo "用户名或密码不能为空,请重新登录";
exit;
}
$result = MysqL_query("SELECT * FROM user where username='$username'");
$row = MysqL_fetch_array($result);//转成数组,且返回第一条数据,当不是一个对象时候退出
if($password!=$row['password'])
{
header('location:index.html');
echo "用户名或密码错误,请重新登录";
exit;
}
else if(($username==$row['username'])&&($password==$row['password']))
{
$_SESSION['username']=$username;
$_SESSION['password']=$password;//设置session值,一般保存时间为20分钟
setcookie("username",$username,time()+7*24*60*60);//cookie值保存时间以秒为单位
setcookie("password",$password,time()+7*24*60*60);
echo $_SESSION['username'];
//require "search.PHP";
header('location:top.PHP');
}
MysqL_close($con);
}
?>
login.PHP 判断登录查询数据库并保存cookie与session
接下来是注册界面:
<?PHP
require 'fun.PHP';
if($_SERVER['REQUEST_METHOD']=='POST')
{
$username=$_POST['username'];
$password=$_POST['password'];
$repassword=$_POST['repassword'];
$address="暂无地址";
$tel="暂无联系方式";
$account="0";
if($password===$repassword){
if (MysqL_query("insert into user (username,password,address,tel,account) values('$username','$password','$address','$tel','$account')")){//注册用户插入数据
echo '<font size="4" color="red">注册成功,3秒后跳转到登录界面</font>';
header('refresh:3;url=index.html');
}else{
echo '<font size="4" color="red">注册失败,3秒后重新跳转到注册界面</font>';
header('refresh:3;url=register.html');
}
}
}
?>
register.PHP 获取注册界面输入的数据并判断然后将数据插入数据库
登录成功后进入商品首页:
<body >
<?PHP
if($_SERVER['REQUEST_METHOD']=='POST')
{ @session_start();
$type=$_POST['type1'];
$_SESSION['shoppingtype']=$type;
setcookie("shoppingtype",$type,time()+60);
}
?>
<div style="width:100%;height:90px">
<table><tr><th>
<div style="padding: 80px 480px 80px;">
<form class="bs-example bs-example-form" action="top.PHP" method="post" role="form">
<div class="col-lg-6">
<div class="input-group">
<input style="width:300px" type="text" id="type1" name="type1" class="form-control" placeholder="搜索您想要的商品">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">搜索</button>
</span>
</div>
</div>
</form>
</div>
</th><th width=200>
<font size="+3" color="#ff6464">曾哥二手市场</font><br><font size="+1" color="#ff6464">Second Hand Market</font>
</th></tr></table>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header" style="padding: 0px 50px 0px;">
<a class="navbar-brand">商品分类</a>
</div>
<div>
<ul class="nav navbar-nav">
<li><a href="#"> 服装</a></li>
<li><a href="#"> 食品</a></li>
<li><a href="#"> 化妆品</a></li>
<li><a href="#"> 生活用品</a></li>
<li><a href="#"> 生日礼物</a></li>
<li><a href="#"> 数码产品</a></li>
<li><a href="#"> 学习用品</a></li>
<li><a href="#"> 生活用品</a></li>
<li><a href="#"> 名牌鞋服</a></li>
<li><a href="#"> 其他产品</a></li>
<li><a href="managertop.PHP"> 我要发布</a></li>
<li><a href="myinfo.PHP"> 编辑</a></li>
<li><a href="logout.PHP"> 退出系统</a></li>
<li><a href="index.html"> 登录</a></li>
</ul>
</div>
</div>
</nav>
</div>
<?PHP require 'shoppingindex.PHP'; ?>
</body>
</html>
这里完成的是首页的top,即界面顶部界面
<?PHP
require 'fun.PHP';
$result = MysqL_query("SELECT * FROM products ");
$i=0;
?>
<br><table><tr>
<?PHP
if(isset($_SESSION['shoppingtype'])){
$shoppingtype=$_SESSION['shoppingtype'];//判断是否获取了输入框中的值
session_destroy();
setcookie('shoppingtype','',time()-1);//销毁
}
if(isset($shoppingtype)){
$result = MysqL_query("SELECT * FROM products where name like'%$shoppingtype%' ");
}
while($row=MysqL_fetch_array($result)){
$image=$row['images'];
$i++;
$image="images/".$image;
$id=$row['id'];
?>
shoppingindex.PHP 用于顶部查询栏中接收数据进行模糊查询并遍历查询相关商品信息
<br><br><br><br><br><br>
<?PHP
require 'fun.PHP';
$result = MysqL_query("SELECT * FROM products ");
$i=0;
?>
<br><table><tr>
<?PHP
if(isset($_SESSION['shoppingtype'])){
$shoppingtype=$_SESSION['shoppingtype'];//判断是否获取了输入框中的值
session_destroy();
setcookie('shoppingtype','',time()-1);//销毁
}
if(isset($shoppingtype)){
$result = MysqL_query("SELECT * FROM products where name like'%$shoppingtype%' ");
}
while($row=MysqL_fetch_array($result)){
$image=$row['images'];
$i++;
$image="images/".$image;
$id=$row['id'];
?>
<th style="width:40px"></th><th>
<div style="background-color:#edf7fa;width:450px;height:290px;border-radius:10px;">
<table border=0 style="width:440px;height:280px"><tr><th rowspan=5 style="width:280px;height:160px" align="center"><img src="<?=$image?>" style="width:260px;height:260px" class="img-rounded"></th>
<th height=50><h4> <span class="glyphicon glyphicon-tower" style="color: rgb(255, 140, 60);"> <?=$row['shopname']?></span></h4></th>
<tr><th><h4 class="display-4"> <?=$row['name']?></h4></th></tr>
<tr><th><font size="+1"color="red"> <?=$row['price']?>RMB</th></tr>
<tr><th> <span class="label label-warning">标签:<?=$row['type']?></span></th></tr>
<tr><th> <a href="shopping.PHP?id=<?=$id?>"><button type="button" class="btn btn-success">进店看看</button></a></th></tr>
</table>
</div>
</th>
<th style="width:20px"></th>
<?PHP
if($i%4==0)
echo "<tr><th height=21></th></tr><tr>";
}
?>
</body>
完整的shoppingindex.PHP
接着,便可点击进店看看来查询商品详情:
通过超链接< a href=“shopping.PHP?id=$id”>来通过GET方式来传递数据
<?PHP
$id=$_GET['id'];
require "fun.PHP";
if(isset($id)){
$result = MysqL_query("SELECT * FROM products where id='$id' ");
$row=MysqL_fetch_array($result);
$shopname=$row['shopname'];//店铺名称
$name=$row['name'];//商品名
$detail=$row['detail'];//描述
$price=$row['price'];//单价
$num=$row['num'];//库存数目
$image=$row['images'];//图片
$type=$row['type'];
$image="images/".$image;
}
?>
shopping.PHP通过获取的id值然后查询数据库获取该商品的详细信息并遍历出来
点击购买后会执行判断,若当前用户已经登录,则可以进行购买,否则会跳转至登录界面
输入密码后点击确认付款,会执行两个判断:支付密码是否正确,账户余额是否充足
点击首页的编辑,可以进行个人信息的修改
<?PHP
require 'fun.PHP';
if($_SERVER['REQUEST_METHOD']=='POST')
{
$id=$_POST['id'];
$username=$_COOKIE['username'];
$name=$_POST['name'];
$password=$_POST['password'];
$paypassword=$_POST['paypassword'];
$tel=$_POST['tel'];
$address=$_POST['address'];//商品名称
if(isset($id)){
if(MysqL_query("update user set password='$password',paypassword='$paypassword',tel='$tel',address='$address',name='$name' where id=$id "))
header("refresh:0;url=myinfo.PHP");
}else
header("refresh:0;url=myinfo.PHP");
}
?>
提交修改信息 myinfoupdate.PHP
接着,对于二手市场而言,用户可以自己发布自己的商品:
点击首页的 我要发布,进入后台界面,用户可以对自己发布的商品进行增删改查操作:
managertop.PHP界面
<?PHP
if($_SERVER['REQUEST_METHOD']=='POST'){
$conn = new MysqLi("localhost", "root", "px980305", "secondhandmarket")or die ("You cannot connect the database!<br>".MysqLi_error());
$id=$_POST['id'];//商品id
$name=$_POST['name'];//商品名称
$price=$_POST['price'];//单价
$content=$_POST['content'];//详情
$num=$_POST['num'];//库存
$adress=$_POST['adress'];
$type=$_POST['type'];//商品类型
$shopname=$_POST['shopname'];//店铺名称
$username=$_POST['username'];
if($_POST['submit']=='添加')
{
$sql="insert into products (shopname,username,password,images,name,type,price,num,detail) values('$shopname','$username','123456','$adress','$name','$type','$price','$num','$content')";
if ($conn->query($sql) === TRUE) {
header("location:managertop.PHP");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
if($_POST['submit']=='修改'){
$sql="select * from products where id='$id'";
$result =MysqLi_query($conn,$sql);
$row = MysqLi_fetch_array($result);
$price=$price?$price:$row['price'];
$content=$content?$content:$row['detail'];
$num=$num?$num:$row['num'];
$name=$name?$name:$row['name'];
$type=$type?$type:$row['type'];
$shopname=$shopname?$shopname:$row['shopname'];
$adress=$adress?$adress:$row['images'];
$sql="update products set shopname='$shopname',name='$name',num='$num',detail='$content',images='$adress',type='$type' where id=$id ";
if ($conn->query($sql) === TRUE) {
header("location:managertop.PHP");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
if($_POST['submit']=='删除'){
$sql="delete from products where id='$id'";
if ($conn->query($sql) === TRUE) {
header("location:managertop.PHP");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
?>
submit.PHP, 提交数据并处理,包含增加,删除,修改
此外系统还包含用户管理,退出登录等功能,在这里就不一一赘述了。
后台登录界面: adminlogin.html
后台登录验证:adminlogin.PHP
<?PHP
session_start();
require 'fun.PHP';
if($_SERVER['REQUEST_METHOD']=='POST'){
$username=$_POST['username'];
$password=$_POST['password'];
if(($username=='')||($password==''))
{ echo $username."<br>".$password."<br>";
header('refresh:3;url=index.html');
echo "用户名或密码不能为空,请重新登录";
exit;
}
$result = MysqL_query("SELECT * FROM admin where adminname='$username'");
$row = MysqL_fetch_array($result);//转成数组,且返回第一条数据,当不是一个对象时候退出
if($password!=$row['password'])
{
header('location:index.html');
echo "用户名或密码错误,请重新登录";
exit;
}
else if(($username==$row['adminname'])&&($password==$row['password']))
{
$_SESSION['adminusername']=$username;
$_SESSION['adminpassword']=$password;//设置session值,一般保存时间为20分钟
setcookie("adminusername",$username,time()+7*24*60*60);//cookie值保存时间以秒为单位
setcookie("adminpassword",$password,time()+7*24*60*60);
echo $_SESSION['username'];
//require "search.PHP";
header('location:adminindex.PHP');
}
MysqL_close($con);
}
?>
<table class="table table-bordered" style="width:90%">
<caption>订单管理</caption>
<thead>
<tr>
<th style="height:50px">编号</th>
<th>订单编号</th>
<th>用户名</th>
<th>商家编号</th>
<th>商品名</th>
<th>价格</th>
<th>收货地址</th>
<th>展示图片</th>
<th>联系方式</th>
</tr>
</thead>
<tbody>
<?PHP
require 'fun.PHP';
$result = MysqL_query("SELECT * FROM orderuser");
while($row = MysqL_fetch_array($result))//转成数组,且返回第一条数据,当不是一个对象时候退出
{$img=$row['productimage'];
$id=$row['id'];
?>
<tr>
<th style="height:50px"><p class="text-danger"><?=$row['id']?></th>
<th><?=$row['orderid']?></th>
<th><?=$row['username']?></th>
<th><?=$row['shopid']?></th>
<th><?=$row['productname']?></th>
<th><p class="text-danger"><?=$row['price']?></th>
<th><p class="text-danger"><?=$row['useraddress']?></th>
<th><img src="<?=$img?>" style="width:65px;height:65px"></th>
<th><p class="text-danger"><?=$row['usertel']?></th>
</tr>
<?PHP
}
?>
</tbody>
</table>
</div>
<br><br><br>
用户管理 adminuser.PHP
<table class="table table-bordered" style="width:90%">
<caption>用户管理</caption>
<thead>
<tr>
<th style="height:50px">编号</th>
<th>用户名</th>
<th>昵称</th>
<th>账户余额</th>
<th>联系方式</th>
<th>注销用户</th>
<th>充值金额</th>
<th>账户充值</th>
</tr>
</thead>
<tbody>
<?PHP
require 'fun.PHP';
$result = MysqL_query("SELECT * FROM user");
while($row = MysqL_fetch_array($result))//转成数组,且返回第一条数据,当不是一个对象时候退出
{
$id=$row['id'];
?>
<tr>
<form action="adminsubmit.PHP" method="post">
<th style="height:50px"><p class="text-danger"><input type="text" name="id" id="id" value="<?=$row['id']?>" style="width:50px;height:30px;border:none" readonly></th>
<th><?=$row['username']?></th>
<th><?=$row['name']?></th>
<th><?=$row['account']?></th>
<th><?=$row['tel']?></th>
<th><button type="submit" name="submit" id="submit" onclick="return window.confirm('确定删除?')" value="删除" class="btn btn-danger">删除用户</button></th>
<th><input type="text" name="account" id="account" value="" style="width:50px;height:30px">
<th><button type="submit" name="submit" id="submit" onclick="return window.confirm('确定充值?')" value="充值" class="btn btn-danger">账户充值</button></th>
</form>
</tr>
<?PHP
}
?>
</tbody>
</table>
</div>
<br><br><br>
商品店铺管理 adminindex.PHP
<table class="table table-bordered" style="width:90%">
<caption>商品店铺管理</caption>
<thead>
<tr>
<th style="height:50px">编号</th>
<th>用户名</th>
<th>店铺名</th>
<th>商品名</th>
<th>价格</th>
<th>类型</th>
<th>展示图片</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?PHP
require 'fun.PHP';
$result = MysqL_query("SELECT * FROM products");
while($row = MysqL_fetch_array($result))//转成数组,且返回第一条数据,当不是一个对象时候退出
{$img="images/".$row['images'];
$id=$row['id'];
?>
<tr>
<th style="height:50px"><p class="text-danger"><?=$row['id']?></th>
<th><?=$row['username']?></th>
<th><?=$row['shopname']?></th>
<th><?=$row['name']?></th>
<th><p class="text-danger"><?=$row['price']?></th>
<th><?=$row['type']?></th>
<th><img src="<?=$img?>" style="width:65px;height:65px"></th>
<th><a href="admindelete.PHP?id=<?=$id?>"><button type="button" onclick="return window.confirm('确定删除?')" class="btn btn-danger">删除产品</button></a></th>
</tr>
<?PHP
}
?>
</tbody>
</table>
</div>
<br><br><br>
附上项目文件目录:
码字不易,给个赞呗!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。