本系统主要架构图如上图所示。PS:register_check.php的自动注册代码写在check.php里了。
使用数据库的两张表,user_info用户信息表和stu_info学生成绩信息表。
提供登录服务:分为管理员登录和学生登录,若登录时输入数据库中没有的账号 和密码的时候系统会自动注册,即将新账号信息写入user_info中去。
学生登录只可以进行查询操作,管理员登录可以进行增删和查操作,注册新账号的权限都是学生。
接下来上代码:
login.html
信息查询界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
请输入学生的学号进行查询操作
如果要查询所有学生信息请输入“所有”进行查询
check.php
验证账号密码后台程序function get_str($str){
$val = ($_POST[$str])?$_POST[$str]:null;
return $val;
}
$user = get_str("username");
$pass = get_str("password");
if($user==null or $pass == null){?>
alert("用户名或密码为空,请重新输入");
window.location.href="login.html";
}
$con = mysql_connect("localhost","root","root") or die("数据库链接失败");
if(!$con){
?>
alert("连接服务器失败");
window.location.href = "login.html";
}
$sel = mysql_select_db("SGMSystem",$con) or die("数据库选择失败");
if(!$sel){
?>
alert("选择数据库失败");
window.location.href = "login.html";
}
$sql = "select * from user_info where username = '$user'";
//echo $sql."
";
$info = mysql_query($sql,$con);
echo $info;
$num = mysql_num_rows($info);
if($num == null){
//没有查找到,表示要注册
$ins = "insert into user_info (username,password,is_manager) values('$user','$pass',0)";
$info1 = mysql_query($ins,$con);
//注册成功,返回登陆界面重新登录
?>
alert("注册成功,返回登陆界面重新登录");
window.location.href="login.html";
}
else{
//登录成功
$row = mysql_fetch_array($info);
//echo $row['password'];
}
if($row['password']==$pass){
if($row['is_manager'] == 1){
//是管理员
?>
alert("管理员登录成功");
window.location.href = "welcome_mag.html";
if($row['is_manager'] != 1){
//普通用户登录
//直接进入查询界面(学生端的查询界面不提供返回服务选择界面的接口)
?>
alert("普通用户登录成功");
window.location.href = "select_stu.html";
}
else{
?>
alert("密码错误");
window.loaction.href = "login.html";
}
mysql_close($con);
?>
welcom_mag.html
欢迎界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
select_mag.html:
信息查询界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
请输入学生的学号进行查询操作
如果要查询所有学生信息请输入“所有”进行查询
select_opt.php:
查询结果显示界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
学号 | 姓名 | 班级 | 性别 | 语文 | 英语 | 数学 | 理综 | 总分 |
function get_str($str){
$val = ($_POST[$str])?$_POST[$str]:null;
return $val;
}
$sel = get_str("check");
if($sel == null){
?>
alert("输入不能为空,请重新输入");
window.location.href="select.html";
}
$con = mysql_connect("localhost","root","root");
if(!$con){
?>
alert("数据库连接失败");
window.location.href="select.html";
}
mysql_select_db("SGMSystem");
if($sel != "所有"){
$sql = "select * from stu_info where id = $sel";
$info = mysql_query($sql,$con);
$num = mysql_num_rows($info);
if($num){
$row = mysql_fetch_row($info);
echo $row[0].$row[1].$row[2].$row[3].$row[4].$row[5].$row[6].$row[7].$row[8];
}
else{
?>
alert("查询失败");
window.location.href="select.html";
}
if($row){
echo "
".$row[0]." ".$row[1]." ".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."".$row[8]."";}
}
else{
$sql = "select * from stu_info";
$info = mysql_query($sql,$con);
$num = mysql_num_rows($info);
if($num){
//查询成功
while($row = mysql_fetch_row($info)){
//显示所有信息
echo "
".$row[0]." ".$row[1]." ".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."".$row[8]."";}
}
else{
?>
alert("查询失败");
window.location.href="select.html";
}
}
?>
insert.html:
增添学生成绩数据a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
学号:
姓名:
班级:
性别:
语文:
数学:
英语:
理综:
mysql_opt.php:
数据库后台操作//这个页面主要是对插入进行处理
function get_str($str){
$val = ($_POST[$str])?$_POST[$str]:null;
return $val;
}
$num = get_str("number");//接收学号
$name = get_str("stuname");//接收姓名
$class = get_str("class");//接收班级
$sex = get_str("sex");//接收性别
$chi = get_str("chinese");//接收语文成绩
$mat = get_str("maths");//接收数学成绩
$eng = get_str("english");//接收英语成绩
$syn = get_str("synthesis");//接收理综成绩
if($num==0 or $name ==null or $class == null or $sex ==null or $chi ==0 or $mat ==0 or $eng ==0 or $syn ==0){?>
alert("数据输入有误,请重新输入");
window.location.href="insert.html";
}
$sum = $chi + $mat + $eng + $syn;//计算总分
$con = mysql_connect("localhost","root","root");
if(!$con){
?>
alert("数据库连接失败");
window.location.href="insert.html";
}
$sql = "insert into stu_info (id,姓名,班级,性别,语文,数学,英语,理综,总分)
values($num,'$name','$class','$sex',$chi,$mat,$eng,$syn,$sum)";
mysql_select_db("SGMSystem");
$info = mysql_query($sql,$con);
if($info){
?>
alert("写入成功");
window.location.href="insert.html";
}
else{
?>
alert("写入失败");
window.location.href="insert.html";
}
mysql_close($con);
?>
delete.html:
删除服务界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
delete_opt.php:
删除操作后台执行页面function get_str($str){
$val = ($_POST[$str])?$_POST[$str]:null;
return $val;
}
$number = get_str("delete");
$con = mysql_connect("localhost","root","root");
if(!$con){
?>
alert("数据库连接失败");
window.location.href="delete.html";
}
$sql = "select * from stu_info where id = $number";
mysql_select_db("SGMSystem");
$info = mysql_query($sql,$con);
$num = mysql_num_rows($info);
if(!$num){
?>
alert("找不到该同学,请重新输入学号");
window.location.href="delete.html";
else{
//找到了该同学,进行删除操作
$sql = "delete from stu_info where id = $number";
$info = mysql_query($sql,$con);
if($info){
//删除成功
?>
alert("删除成功");
window.location.href="delete.html";
}
else{
//删除失败
?>
alert("删除失败");
window.location.href="delete.html";
}
}
?>
select_stu.html:
信息查询界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
请输入学生的学号进行查询操作
如果要查询所有学生信息请输入“所有”进行查询
select_opt_stu.php:(和管理员端的后台页面只是返回的超链接不同)
查询结果显示界面a{text-decoration: none;font-size:25px;font-family:微软雅黑;color:rgb(98,94,91);}
a:link{color:#00FFFF;}/*未访问的颜色 蓝色*/
a:hover{color:#FF00FF;}/*鼠标放上去的颜色(没起作用) 紫色*/
a:visited{color:#00FFFF;}/*访问过的颜色 蓝色*/
a:active{color:#FF00FF;}/*选定的代码 紫色*/
学号 | 姓名 | 班级 | 性别 | 语文 | 英语 | 数学 | 理综 | 总分 |
function get_str($str){
$val = ($_POST[$str])?$_POST[$str]:null;
return $val;
}
$sel = get_str("check");
if($sel == null){
?>
alert("输入不能为空,请重新输入");
window.location.href="select.html";
}
$con = mysql_connect("localhost","root","root");
if(!$con){
?>
alert("数据库连接失败");
window.location.href="select.html";
}
mysql_select_db("SGMSystem");
if($sel != "所有"){
$sql = "select * from stu_info where id = $sel";
$info = mysql_query($sql,$con);
$num = mysql_num_rows($info);
if($num){
$row = mysql_fetch_row($info);
echo $row[0].$row[1].$row[2].$row[3].$row[4].$row[5].$row[6].$row[7].$row[8];
}
else{
?>
alert("查询失败");
window.location.href="select.html";
}
if($row){
echo "
".$row[0]." ".$row[1]." ".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."".$row[8]."";}
}
else{
$sql = "select * from stu_info";
$info = mysql_query($sql,$con);
$num = mysql_num_rows($info);
if($num){
//查询成功
while($row = mysql_fetch_row($info)){
//显示所有信息
echo "
".$row[0]." ".$row[1]." ".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."".$row[8]."";}
}
else{
?>
alert("查询失败");
window.location.href="select.html";
}
}
?>
效果图如下:
查询信息输入页面
删除信息输入页面
插入信息输入页面
这个系统还不完美,还有很多可以改进的地方,如果有什么好的修改建议,欢迎一起讨论^_^