前言
- 这里以“开发一个小型的鞋子销售网站”为例,主要步骤要求如下:
- 创建数据库;
- 用户登录;
- 鞋子数据的显示和查询;
- 通过网页实现数据的添加和删除。
- 本次使用的开发工具:start WampServer64、SQLyog、phpDesigner 8、谷歌浏览器
开发步骤
一、创建数据库
-
我这里使用的是小型的SQLyog数据库,先运行一下start WampServer64,再登录SQLyog,创建一个新的数据库eshoe,并添加一个用户表(user)和一个鞋信息表(shoe):
-
在user表中添加数据:
- username(用户名) ,varchar(文本类型),20(长度)
- password(密码) , varchar(文本类型),20(长度)
- 在shoe表中添加数据:
- shoeid(鞋编号),int(整型),11(长度)
- name(鞋名), varchar(文本类型),20(长度)
- price(价格),decimal(数值类型) , 5,1(长度为5,小数点1位)
- brand(品牌),varchar(文本类型),20(长度)
- 在user表中,输入一些个人数据信息:
- 在shoe表中,输入一些鞋子的数据信息:
二、设置网页链接导航:
- 复制已经编写好的 “静态网页h1.html” 和 “images文件夹”到Wamp网站目录(eg:D:\wamp\www), 用phpDesigher打开www目录里的h1.html
- 原始的静态网页h1.html代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP小型商务网站</title>
<style type="text/css">
</style>
</head>
<body>
<table width="755" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bg-line.jpg">
<tr>
<td width="41"><img src="images/jiao-1.jpg" width="28" height="103" /></td>
<td width="672"><img src="images/index2.jpg" width="454" height="103" /></td>
<td width="28"><img src="images/jiao-r.jpg" width="28" height="103" /></td>
</tr>
</table>
<table width="755" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#6a87ae">
<tr>
<td align="right"><img src="images/back.gif" width="62" height="26" /></td>
<td bgcolor="#6a87ae"> </td>
</tr>
</table>
<table width="755" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="220"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#6a87ae">
<tr>
<td align="center" valign="top"><img src="images/psdh.gif" width="100" height="30" /></td>
</tr>
<tr>
<td height="27" align="center"><img src="images/line00.gif" width="100%" height="27" /></td>
</tr>
<tr>
<td align="center"><span class="STYLEl"><a herf="shoe.php">产品一览</a></span></td>
</tr>
<tr>
<td align="center"><img src="images/line00.gif" width="100%" height="27" /></td>
</tr>
<tr>
<td align="center"><span class="STYLEl"><a herf="add.php">产品添加</a></span></td>
</tr>
<tr>
<td align="center"><img src="images/line00.gif" width="100%" height="27" /></td>
</tr>
<tr>
<td align="center"><span class="STYLEl" ><a herf="delete.php">产品删除</a></span></td>
</tr>
<tr>
<td align="center"><img src="images/line00.gif" width="100%" height="27" /></td>
</tr>
<tr>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
<tr>
<td> </td>
</tr>
</table></td>
<td width="535" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/jiao01.gif" width="30" height="30" /></td>
</tr>
<tr>
<td height="261" align="left" valign="top">在这里逐一添加每个功能的代码,并另存为为一个.php文档</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
- images文件夹内容如下:
三、登录功能:
-
将上面原始的静态网页h1.html代码另存为login.php(登录页面);
-
代码实现:
- 登陆页面功能实现的代码,如下:
<p>用户登录</p>
<form id="form1" name="form1" method="post" action="">
<p>用户:
<label for="a1"></label>
<input type="text" name="a1" id="a1" />
</p>
<p>密码:
<label for="a2"></label>
<input type="passport" name="a2" id="a2" />
</p>
<p>
<input type="submit" name="button" id="button" value="登录" />
</p>
</form>
<p>
<?php
if(isset($_POST["button"]))
{
$a1=$_POST["a1"]; //获取用户名;
$a2=$_POST["a2"]; //获取用户密码;
$id=mysqli_connect("localhost","root","","eshoe"); //连接数据库服务器;
if($id==true)
{
mysqli_query($id,"SET CHARACTER SET gb2312"); //设置汉字编码,避免出现中文乱码的现象;
$result=mysqli_query($id,"SELECT * FROM user where username='$a1' and password='$a2'"); //执行SQL语句,判断输入的用户名和密码,与数据库中的数据是否吻合;
$info=mysqli_fetch_array($result,MYSQL_ASSOC); //读取一行数据,看是否有值;
if($info==true) //如果$info成功读取值,则执行以下代码;
{
session_start(); //准备使用SESSION 变量;
$_SESSION["username"]=$a1; //创建一个SESSION 变量存放“用户名”;
header("Location:shoe.php"); //登录成功,则跳转至产品一览页面;
}
else
{
header("Location:error.php"); //登录失败,则跳转至提示登录错误页面;
}
}
else
{
echo "数据库连接失败,请确认该数据库是否存在";
}
mysqli_close($id); //释放数据库连接;
}
-
shoe.php代码的实现,将在下文“产品一览”中详细说明;
-
新建一个PHP文件,保存为error.php, 提示登录错误页面error.php代码,如下:
<?php
echo "登陆失败,用户名或密码错误,请重新登录";
?>
3. 将上述的“登录代码”放在login.php的底部添加代码功能处(即用“登录页面代码”将下面的中文提示替换掉):
4.替换完毕,点击保存,即可在浏览器打开预览效果,效果如下:
四、产品一览
- 点击页面中“产品一览”,实现鞋类信息显示和查询;
- 将上面的原始的静态网页h1.html代码另存为shoe.php(产品一览);
- 先在shoe.php 代码头部,添加一段PHP代码,通过SESSION变量是否存在,来判断用户是否登录成功:
<?php
session_start();
if(!isset($_SESSION["username"])) //判断SESSION变量username是否存在;
header("Location:login.php"); //若不存在,则证明用户没有登录,跳转至用户登录页面;
?>
- 产品一览功能的实现代码,如下:
- 鞋类信息的显示代码:
<?php
$id=mysqli_connect("localhost","root","","eshoe"); //连接数据库服务器;
if($id==true)
{
mysqli_query($id,"SET CHARACTER SET gb2312"); //设置汉字编码,避免出现中文乱码的现象;
$query="SELECT * FROM shoe"; //需要的查询SQL语句;
$result=mysqli_query($id,$query); //在数据库中,执行SQL语句的查询;
$info=mysqli_fetch_array($result,MYSQL_ASSOC); //读取一行数据;
while($info!=NULL) //当读取的数据不为空时,则执行以下代码;
{
echo "<tr>";
echo "<td>"." 编号:".$info["shoeid"]."</td>"."";
echo "<td>"." 名称:".$info["name"]."</td>"."";
echo "<td>"."价格 :".$info["price"]."</td>"."";
echo "<td>"." 品牌:".$info["brand"]."<td>";
echo "</tr>"."<br>";
$info=mysqli_fetch_array($result,MYSQL_ASSOC); //读取下一行数据;
}
}
mysqli_close($id); //释放数据库连接;
?>
- 鞋类信息的查询代码:
<p>
<form id="form1" name="form1" method="post" action="">
请输入名称:
<label for="a1"></label>
<input type="text" name="a1" id="a1" />
<input type="submit" name="button" id="button" value="查询" />
</form>
</p>
<?php
if(isset($_POST["button"])) //如果用户点击查询按钮,则执行以下代码;
{
$a1=$_POST["a1"]; //获取用户输入的产品名称;
$id=mysqli_connect("localhost","root","","eshoe"); //连接数据库服务器;
if($id==true)
{
mysqli_query($id,"SET CHARACTER SET gb2312"); //设置汉字编码,避免出现中文乱码的现象;
$query="SELECT * FROM shoe where name like '%$a1%'"; //需要的查询SQL语句;
$result=mysqli_query($id,$query); //在数据库中,执行SQL语句的查询;
$info=mysqli_fetch_array($result,MYSQL_ASSOC); //读取一行数据;
while($info!=NULL) //当读取的数据不为空时,则执行以下代码;
{
echo "<tr>";
echo "<td>"." 编号:".$info["shoeid"]."</td>"."";
echo "<td>"." 名称:".$info["name"]."</td>"."";
echo "<td>"."价格 :".$info["price"]."</td>"."";
echo "<td>"." 品牌:".$info["brand"]."<td>";
echo "</tr>"."<br>";
$info=mysqli_fetch_array($result,MYSQL_ASSOC); //读取下一行数据;
}
}
else
{
echo "数据库连接失败,请检查该数据库是否存在";
}
mysqli_close($id); //释放数据库连接;
}
?>
- 将上述的“显示代码”和“查询代码”这两个代码依次放在shoe.php的底部添加代码功能处(即用“产品一览的两个代码”将下面的中文提示替换掉):
6.替换完毕,点击保存,即可在浏览器打开,输入用户登录信息(李一,123),登录成功后,显示预览效果,效果如下:
五、产品添加
- 点击页面中“产品添加”,实现对鞋类信息数据的添加;
- 将上面的原始的静态网页h1.html代码另存为add.php(产品添加);
- 先在add.php 代码头部,添加一段PHP代码,在页面最顶端加上SESSION变量,防止用户未登录可以直接跳入代码:
<?php
session_start();
if(!isset($_SESSION["username"])) //判断SESSION变量username是否存在;
header("Location:login.php"); //若不存在,则证明用户没有登录,跳转至用户登录页面;
?>
- 产品添加功能的实现代码,如下:
<form id="form1" name="form1" method="post" action="">
<p>编号:
<label for="a1"></label>
<input type="text" name="a1" id="a1" />
</p>
<p>名称:
<label for="a2"></label>
<input type="text" name="a2" id="a2" />
</p>
<p>价格:
<label for="a3"></label>
<input type="text" name="a3" id="a3" />
</p>
<p>品牌:
<label for="a4"></label>
<input type="text" name="a4" id="a4" />
</p>
<p>
<input type="submit" name="button" id="button" value="添加" />
</p>
</form>
<?php
if(isset($_POST["button"])) //如果用户点击“添加”按钮,获取用户所需要添加的值;
{
$a1=$_POST["a1"];
$a2=$_POST["a2"];
$a3=$_POST["a3"];
$a4=$_POST["a4"];
$id=mysqli_connect("localhost","root","","eshoe"); //连接数据库服务器;
if($id==true)
{
mysqli_query($id,"SET CHARACTER SET gb2312"); //设置汉字编码,避免出现中文乱码的现象;
$sql="INSERT INTO shoe VALUES('$a1','$a2','$a3','$a4')"; //添加鞋信息数据的SQL语句;
$result=mysqli_query($id,$sql); //执行添加的SQL语句;
if($result==true)
{
header("Location:shoe.php"); //如果成功添加数据,则跳转到产品一览界面,看是否成功添加了鞋信息数据;
}
else
{
echo "数据添加失败,请重新尝试!";
}
}
mysqli_close($id); //释放数据库连接;
}
?>
-
将上述的“添加信息代码”放在add.php的底部添加代码功能处(即用“产品添加代码”将下面的中文提示替换掉):
-
替换完毕,点击保存,即可在浏览器打开,输入用户登录信息(李一,123),登录成功后,点击“产品添加”,显示预览效果,效果如下:
-
输入数据点击“添加”按钮后,自动跳转至“产品一览”页面,显示鞋类数据信息,效果如下:
六、产品删除
- 点击页面中“产品删除”,实现对鞋类信息数据的删除;
- 将上面的原始的静态网页h1.html代码另存为delete.php(产品删除);
- 先在delete.php 代码头部,添加一段PHP代码,在页面最顶端加上SESSION变量,防止用户未登录可以直接跳入代码:
<?php
session_start();
if(!isset($_SESSION["username"])) //判断SESSION变量username是否存在;
header("Location:login.php"); //若不存在,则证明用户没有登录,跳转至用户登录页面;
?>
- 产品删除功能的实现代码,如下:
<p>产品删除:</p>
<form id="form1" name="form1" method="post" action="">
请输入产品编号:
<label for="a1"></label>
<input type="text" name="a1" id="a1" />
<input type="submit" name="button" id="button" value="删除" />
</form>
<?php
if(isset($_POST["button"])) //如果用户点击“删除”按钮;
{
$a1=$_POST["a1"]; //获取用户所需要删除的产品编号值;
if($id==true)
{
mysqli_query($id,"SET CHARACTER SET gb2312"); //设置汉字编码,避免出现中文乱码的现象;
$sql="delete from shoe where shoeid='$a1'"; //删除用户想要删除的鞋产品编号的SQL语句;
$result=mysqli_query($id,$sql); //执行删除的SQL语句;
if($result==true)
{
header("Location:shoe.php"); //如果成功删除数据,则跳转到产品一览界面,看是否成功删除了对应鞋编号的信息数据;
}
else
{
echo "数据删除失败,请重新尝试!";
}
}
mysqli_close($id); //释放数据库连接;
}
?>
- 将上述的“删除信息代码”放在delete.php的底部添加代码功能处(即用“产品删除代码”将下面的中文提示替换掉):
- 替换完毕,点击保存,即可在浏览器打开,输入用户登录信息(李一,123),登录成功后,点击“产品删除”,显示预览效果,效果如下:
- 输入数据点击“删除”按钮后,自动跳转至“产品一览”页面,显示鞋类数据信息,效果如下: