《动态网站设计与开发》
考试改革报告
项目名称: 会员注册管理系统
专业班级: 计算机科学与技术
学生学号: *************
学生姓名: ***
日 期: 2022.12.12
目 录
1.系统背景及意义
1.1系统开发背景介绍
在大三上学期PHP程序设计期末考试中我选择了会员注册管理系统的项目,这个项目是在最近的授课中刚刚讲授的课题,对于这个课题的选择旨在于从头开始搭建项目开发思路,提升自己的开发思维,同时也完善这个不够完整的项目,使其最终成为一个完整使用的系统,从头梳理会员注册管理系统的各个模块,能够使我在头脑中牢记开发思路并使其完全成为我的一个PHP搭建网站的框架,在学习PHP程序设计这个课程的道路中,一定要形成一种自己的开发思维,构架自己的一套开发框架,初学PHP我们都是小白,对于完成一个完整的系统设计头脑一般都是一片空白,所以老师带着我们一步一个脚印,去完成每一个页面的创建,每一行代码的指引,每一种方法的使用,从起初的懵懵懂懂到现在一个系统的完成,过程漫长而复杂,所以在基础知识还不够牢固的情况下选择最熟悉的项目,写曾经写过的代码,对于我们来说不能说信手拈来吧,也能循着自己的脚印独立完成这个项目,就像婴儿蹒跚学步那样,脱离了父母的帮助才能学得更快掌握的也更加牢固吧。
会员信息管理系统开发的意义在于对本学期学习成果的检验,同时对本学期所学到的PHP知识进行回顾,加深记忆,同时在独立编写一个完整的系统中去搭建属于自己的PHP编写思路,为以后的计算机学习奠定基础。
2.系统的设计思路
2.1 数据库设计分析
数据库需要与设计系统的版本相互匹配,并且操作方便,这里使用的是phpstudy中的MYSQL8.0.12数据库,需要专门建立一个用于存储信息管理系统的库,该库中包含两个表,一个是存储登录信息的表login,另一个是存储会员数据的表student。Login表中设定两个字段,一个是账户名:username,另一个是登录密码:password。Student表中包含五个字段,编号:ID(设置为主键)、姓名:name、性别:sex、年龄:age、地址:adress。
2.2 功能模块设计分析
会员信息管理系统的设计,需要考虑到它具备的功能:1、存储会员信息。所以它必须具备数据局库连接的功能。2、信息展示。一个系统需要有一个系统首页,首页连接着系统其他的所有功能,还需要简介易于操作。3、登录功能。一个专有的系统不是随便一个用户可以访问的,所以需要设计一个登录界面,让拥有权限的管理员或用户登录到系统。4、注册功能。针对申请获取登录系统权限的新用户,需要设计一个注册模块,用于添加新的管理用户。5、添加功能。针对需要添加的新的会员信息,需要一个添加模块对新的信息进行添加,并保存到数据库。6、修改功能。针对需要改动的会员信息,需要增加一个修改模块,用于对已存在的信息进行更新,也可以对不需要的信息进行删除。7、搜索功能。针对需要的特定信息设定一个搜索栏,筛选符合用户要求的数据。
数据库连接模块:数据库在用户登录成功后进行连接,该界面不用向用户展示,数据库连接失败则弹出窗口提示连接数据库失败。
登录模块:登录模块包含一个用于输入登录信息的表格,有表头、账户名输入栏、密码输入栏、一个登录按钮、一个注册按钮。该模块在于简单易懂,画面简洁美观,有账号密码的用户依次填写登录信息就可跳转系统首页,没有账号密码的用户,可以点击注册按钮跳转注册界面。信息输入栏还需要对用户输入的信息进行筛选,与数据库进行连接匹配。
注册模块:注册模块包含页面标识、用户名输入栏、密码栏、确认密码栏、注册按钮、退出按钮。该模块还需要对用户输入的注册信息进行判定,不能输入不可识别信息,检测到就弹出提示,信息填写正常就跳转到登录界面。
首页模块:首页模块必须排版简洁美观,该页面重在向用户展示,其他模块的连接必须包含在首页中,首页还需设置一个信息展示栏用来输出操作者需要操作的信息。针对信息过多,还需要设定信息分页展示。
添加模块:添加模块需要将所有的添加信息类别依次罗列出来,还需要一个信息提交按钮,也可已添加一个返回按钮。需要对添加的信息进行筛选,属性错误则弹出提示信息。
修改模块:修改模块需要包含修改按钮和删除按钮,点击修改按钮则进入修改界面,将修改的用户所有信息放在一个表单中,其中用户的ID不可改动,针对修改后的信息进行不匹配筛选,有则弹出提示,无则保存提交数据库更新信息。
搜索模块:搜索模块针对用户需要的信息进行模糊匹配,将搜索信息提交数据库进行查询输出,没有查询到就展示无结果或提示更换关键词。
3.程序功能测试及截图
3.1程序代码测试
//每一个小标题都需要建一个PHP文件
数据库快速连接:
<?php
//连接数据库
$link = mysqli_connect("localhost", "root", "123456", "数据库名","3306");
if($link == false)
{
die("连接数据库失败!");
}
?>
首页代码:
<?php
//连接数据库
include_once "sqlcon.php";
$sql=<<<ztbu
select * from student;
ztbu;
$query = mysqli_query($link,$sql);
$infos = mysqli_fetch_all($query,MYSQLI_ASSOC);
//定义分页
//每页信息条数
$perpage=5;
//总信息条数
$total_num=count($infos);
//总页数
$total_page=ceil($total_num/$perpage);
//第一页
$page=isset($_GET['page'])?$_GET['page']:1;
//设定第一条信息
$start_index=$perpage*($page-1);
//最后一条信息
$end_index=$perpage*$page-1;
$end_index=min($end_index,$total_num-1);
?>
<style>
html{
background-color: bisque;
}
#login_div{
height: 200px;
background-color: bisque;
}
#td{
font-size: 20px;
font-weight: bolder;
}
#head{
position: absolute;
padding-left: 500px;
top: 100px;
}
.show{
position: relative;
width: 800px;
left: 270px;
bottom: 50px;
background-color: aliceblue;
border:thin solid black;
height: 400px;
overflow-x: hidden;
overflow-y: scroll;
line-height: 30px;
}
.select{
position: relative;
left: 700px;
top:-107px;
}
.denglu{
position: absolute;
right: 450px;
top: 103px;
z-index: 99;
}
.zhuce {
position: absolute;
right: 390px;
top: 103px;
z-index: 99;
}
</style>
<head>
<meta charset="utf-8">
<title>会员信息管理系统</title>
</head>
<body style="background-image: url('img/1.png')">
<!--登录注册添加跳转界面-->
<div id="login_div" style="background-image: url('img/1.png')">
<button class="denglu"><a href="loginfront.php">登录</a></button>
<button class="zhuce"><a href=" zhuce.php">注册</a></button>
</div>
<!--#首页标签-->
<div align="center" id="head">
<tr>
<td><a href="login.php" id="td" style=" position: relative;left: -200px;">首页</a></td>
<td><a href="insert.php" id="td" style=" position: relative;left: -100px;">添加</a></td>
<td><a href="alter.php" id="td">修改</a></td>
</tr>
</div>
<!--搜索栏-->
<div>
<form action="selectok.php" method="post" class="select">
<tr>
<td ><input type="text" name="text" value="请输入关键词进行搜索" onclick="this.value=''"></td>
<td> <button name="select" style="margin-left: 20px">搜索</button></td>
</tr>
</form>
</div>
<!--信息展示窗口-->
<div class="show">
<h1 align="center">会员信息表</h1>
<table border="1" align="center" width="783" cellspacing="1" cellpadding="1" bgcolor="#ffe4c4">
<tr align="center">
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>地址</th>
</tr>
<?php
for($i=$start_index;$i<=$end_index;$i++)
{
echo "<tr>";
echo "<td align='center'>",$infos[$i]["id"],"</td>";
echo "<td align='center'>",$infos[$i]["name"],"</td>";
echo "<td align='center'>",$infos[$i]["sex"],"</td>";
echo "<td align='center'>",$infos[$i]["age"],"</td>";
echo "<td align='center'>",$infos[$i]["adress"],"</td>";
echo "</tr>";
}
echo '<tr>';
echo "<td colspan='5' align='center'><a href='?page=1' >【首页】</a>";
$prepage=($page-1)<1?1:($page-1);
//判断当前页是否为首页,若为首页,则上一页的超链接无效,仍为首页
echo "<a href='?page=$prepage'>【上一页】</a>";
$nextpage=($page+1)>$total_page?$total_page:($page+1);
//判断当前页是否为尾页,若为尾页,则下一页的超链接无效,仍为尾页
echo "<a href='?page=$nextpage'>【下一页】</a>";
echo "<a href='?page=$total_page'>【尾页】</a>";
echo "</td></tr>";
?>
</table>
</div>
</body>