PHP简单的学生管理系统的代码

说到混编呢!像刚进入PHP学习的同志们呢应该是一脸懵的,混编???什么鬼。混编是一个怎么样的存在呢,接下来就由我来跟大家讲解一下吧。

对PHP的理解

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。它可嵌入到 HTML中,尤其适合 web 开发。PHP可以包容HTML标签;实用较强。
就用学生管理这个项目来让大家熟悉一下PHP混编;

//大家通过字面量来理解PHP文件名吧!!!
首先要的创建所需要的PHP文件:

公用PHP文件
public.php;

登录注册所需要的PHP文件
login.php;logindo.php;loginout.php;register.php;registerdo.php;newpassword.php;newpassworddo.php;

学生基本信息页面所需要的PHP文件
index.php ;insert.php;insertdo.php;edit.php;editdo.php;
delete.php;mouse.php;query.php;

学生成绩管理页面所需要的PHP文件
score.php;insertscore.php;insertscoredo.php;editscore.php;editdoscore.php;deletescore.php;scorequery.php;

学生科目管理页面所需要的PHP文件
subject.php;insertsubject.php;insertsubjectdo.php;editsubject.php;editsubjectdo.php;deletesubject.php;subjectquery.php;

公用文件public.php
创建的公共的文件的目的是不用每个PHP文件连接数据库都这么麻烦,

<?php
//连接数据库
$host = 'localhost';//连接用户
$user = 'root';//数据库名称
$pass = 'root';数据库密码
$conn = mysqli_connect($host,$user,$pass);//连接数据库
if(!$conn)
{
    
    
	die('连接错误:'. mysql_error(conn));//判断是否出错

}	
echo '数据库连接成功';//用来测试是否连接成功
mysqli_select_db($con,'数据库名称');//选择
数据库
?>

登录注册的代码部分:
登录,login.php:

<!DOCTYPE html>
<?php session_start()?><!--开启session用来存储账号-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>系统登录</title>
<!-- BOOTSTRAP STYLES-->
<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!-- CUSTOM STYLES-->
<link href="css/custom.css" rel="stylesheet" />
<!--验证码连接js-->
<script src="js/gVerify.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
	<div class="container">
		<div class="row text-center ">
			<div class="col-md-12">
				<br /> <br />
				<h2>用户登录</h2>
				<h5>(授权访问)</h5>
				<br />
			</div>
		</div>
		<div class="row ">
			<div
				class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				<div class="panel panel-default">
					<div class="panel-heading">
						<strong> 请输入登录信息 </strong>
					</div>
					<div class="panel-body">
						<form role="form" action='logindo.php' method='post'>
							<br />
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 15px;width: 15px"></i></span>
								<input type="text" class="form-control" placeholder="在此输入用户名"
									name='username' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-lock"><img src="img/锁.png" style="height: 15px;width: 15px"></i></span>
								<input type="password" class="form-control" placeholder="在此输入密码"
									name='passcode' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-lock"><img src="img/锁.png" style="height: 15px;width: 15px"></i></span>
								<input type="text" class="form-control" placeholder="在此输入验证码"
									name='code' id='code_input'/>
							</div>
							<div class="form-group input-group" id="v_container"></div>
							<input type="hidden" name="ying" id="here">
							<div class="form-group">
								<label class="checkbox-inline"> <input type="checkbox" /> 记住密码
								</label> <span class="pull-right"> <a href="#">忘记密码 ? </a>
								</span>
							</div>
							<input type='submit' class="btn btn-primary " value='登录' name='submit'/>
							<hr />
							未注册 ? <a href="register.php">点这儿 </a>
						</form>
					</div>
				</div>
			</div>
		</div>
	</div>
</body>
<script type="text/javascript">
	var verifyCode = new GVerify("v_container");//实例化验证码
	var yanzheng=document.getElementById("here");//用来判断验证码
	var canvas=document.getElementById("verifyCanvas");//获取画布
	yanzheng.value=verifyCode.options.code;//让验证码同步到输入框中
 </script>
</html>

验证码js文件:
gVerify.js

!(function(window, document) {
    
    
	function GVerify(options) {
    
     //创建一个图形验证码对象,接收options对象为参数
		this.options = {
    
     //默认options参数值
			id: "", //容器Id
			canvasId: "verifyCanvas", //canvas的ID
			width: "100", //默认canvas宽度
			height: "30", //默认canvas高度
			type: "blend", //图形验证码默认类型blend:数字字母混合类型、number:纯数字、letter:纯字母
			code: ""
		}
		
		if(Object.prototype.toString.call(options) == "[object Object]"){
    
    //判断传入参数类型
			for(var i in options) {
    
     //根据传入的参数,修改默认参数值
				this.options[i] = options[i];
			}
		}else{
    
    
			this.options.id = options;
		}
		
		this.options.numArr = "0,1,2,3,4,5,6,7,8,9".split(",");
		this.options.letterArr = getAllLetter();

		this._init();
		this.refresh();
	}

	GVerify.prototype = {
    
    
		/**版本号**/
		version: '1.0.0',
		
		/**初始化方法**/
		_init: function() {
    
    
			var con = document.getElementById(this.options.id);
			var canvas = document.createElement("canvas");
			this.options.width = con.offsetWidth > 0 ? con.offsetWidth : "100";
			this.options.height = con.offsetHeight > 0 ? con.offsetHeight : "30";
			canvas.id = this.options.canvasId;
			canvas.width = this.options.width;
			canvas.height = this.options.height;
			canvas.style.cursor = "pointer";
			canvas.innerHTML = "您的浏览器版本不支持canvas";
			con.appendChild(canvas);
			var parent = this;
			canvas.onclick = function(){
    
    
				parent.refresh();
			}
		},
		
		/**生成验证码**/
		refresh: function() {
    
    
			this.options.code = "";
			var canvas = document.getElementById(this.options.canvasId);
			if(canvas.getContext) {
    
    
				var ctx = canvas.getContext('2d');
			}else{
    
    
				return;
			}
			
			ctx.textBaseline = "middle";

			ctx.fillStyle = randomColor(180, 240);
			ctx.fillRect(0, 0, this.options.width, this.options.height);

			if(this.options.type == "blend") {
    
     //判断验证码类型
				var txtArr = this.options.numArr.concat(this.options.letterArr);
			} else if(this.options.type == "number") {
    
    
				var txtArr = this.options.numArr;
			} else {
    
    
				var txtArr = this.options.letterArr;
			}

			for(var i = 1; i <= 4; i++) {
    
    
				var txt = txtArr[randomNum(0, txtArr.length)];
				this.options.code += txt;
				ctx.font = randomNum(this.options.height/2, this.options.height) + 'px SimHei'; //随机生成字体大小
				ctx.fillStyle = randomColor(50, 160); //随机生成字体颜色		
				ctx.shadowOffsetX = randomNum(-3, 3);
				ctx.shadowOffsetY = randomNum(-3, 3);
				ctx.shadowBlur = randomNum(-3, 3);
				ctx.shadowColor = "rgba(0, 0, 0, 0.3)";
				var x = this.options.width / 5 * i;
				var y = this.options.height / 2;
				var deg = randomNum(-30, 30);
				/**设置旋转角度和坐标原点**/
				ctx.translate(x, y);
				ctx.rotate(deg * Math.PI / 180);
				ctx.fillText(txt, 0, 0);
				/**恢复旋转角度和坐标原点**/
				ctx.rotate(-deg * Math.PI / 180);
				ctx.translate(-x, -y);
			}
			/**绘制干扰线**/
			for(var i = 0; i < 4; i++) {
    
    
				ctx.strokeStyle = randomColor(40, 180);
				ctx.beginPath();
				ctx.moveTo(randomNum(0, this.options.width), randomNum(0, this.options.height));
				ctx.lineTo(randomNum(0, this.options.width), randomNum(0, this.options.height));
				ctx.stroke();
			}
			/**绘制干扰点**/
			for(var i = 0; i < this.options.width/4; i++) {
    
    
				ctx.fillStyle = randomColor(0, 255);
				ctx.beginPath();
				ctx.arc(randomNum(0, this.options.width), randomNum(0, this.options.height), 1, 0, 2 * Math.PI);
				ctx.fill();
			}
		},
		
		/**验证验证码**/
		validate: function(code){
    
    
			var code = code.toLowerCase();
			var v_code = this.options.code.toLowerCase();
			console.log(v_code);
			if(code == v_code){
    
    
				return true;
			}else{
    
    
				this.refresh();
				return false;
			}
		}
	}
	/**生成字母数组**/
	function getAllLetter() {
    
    
		var letterStr = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9";
		return letterStr.split(",");
	}
	/**生成一个随机数**/
	function randomNum(min, max) {
    
    
		return Math.floor(Math.random() * (max - min) + min);
	}
	/**生成一个随机色**/
	function randomColor(min, max) {
    
    
		var r = randomNum(min, max);
		var g = randomNum(min, max);
		var b = randomNum(min, max);
		return "rgb(" + r + "," + g + "," + b + ")";
	}
	window.GVerify = GVerify;
})(window, document);

登录功能php
logindo.php

<?php
 header("Content-Type: text/html; charset=utf8");//防止乱码
 if(!isset($_POST["submit"])){
    
    
  exit("错误执行");
 }//检测是否有submit操作 
 include('public.php');//连接数据库
 session_start();//开启session
 $name=$_POST['username'];//获取账号
 $pass=md5($_POST['passcode']);//获取密码
 $code=$_POST['code'];//获取验证码
 $hide=$_POST['ying'];//获取隐藏验证码
//  echo $name,$pass,$code;
 $_SESSION['name']=$name;//存储账号用来首页显示
 //echo $_SESSION['name'];//测试是否存储成功
 if($code!=$hide){
    
    //判断验证码是否正确
     echo "<script>alert('验证码错误');
     location.href = 'login.php';
     </script>";//判断错误返回登录页
 }else{
    
    
      if($name && $pass){
    
    
          $sql = "select * from account where name = '$name' and pass='$pass'";//检测数据库是否有对应的name和pass的sql
          $result = mysqli_query($conn,$sql);//执行sql
          $rows=mysqli_num_rows($result);//返回一个数值
          if($rows){
    
    
              echo "<script>alert('登陆成功');
              location.href = 'index.php';
              </script>";//账号密码判断成功进入首页
          }else{
    
    
              echo "<script>alert('账号密码错误,重新输入');
              location.href = 'login.php';
              </script>";//账号密码有误
          }
          echo "<script>alert('验证码正确');</script>";
      }else{
    
    
          echo "<script>alert('账号密码填写不完整');
          location.href = 'login.php';
          </script>";//信息填写不完整
      }
 }
 mysqli_close($conn);//关闭数据库
 ?>

注册页面
register.php

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>  
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1 align='center'>欢迎注册</h1>
	<hr>
	<form action="registerdo.php" method='post'>
		<label>用户名:</label><input type='text' name='username' /> 
		<label>密码:</label><input type='text' name='password' /> 
		<input type='submit' name='hh' value='提交' />
	</form>
</body>
</html>

注册php部分

<?php 
header("Content-Type: text/html; charset=utf8");//防止乱码
if(!isset($_POST['hh'])){
    
    
    exit("错误执行");
}//判断是否有submit操作
include('public.php');//连接数据库
$name=$_POST["username"];//获取账号
$pass=md5($_POST["password"]);//获取密码
//echo $name,$pass;//测试是否获取账号密码
$sql="insert into account(name,pass) values ('$name','$pass')";//sql语句进行添加数据
$rel=mysqli_query($conn,$sql);//执行sql语句
if(!$rel){
    
    
    die('error: ' . mysqli_error($conn));//跳出错误
}else{
    
    
    echo "<script>alert('注册成功');
    location.href = 'login.php';</script>";//跳转页面
}
mysqli_close($conn);//关闭数据库
 ?>

首页页面
index.php

<!DOCTYPE html>
<?php session_start();?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>学生信息管理系统</title>
<!-- BOOTSTRAP STYLES-->
<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!-- MORRIS CHART STYLES-->
<link href="css/morris-0.4.3.min.css" rel="stylesheet" />
<!-- CUSTOM STYLES-->
<link href="css/custom.css" rel="stylesheet" />
<!--连接jquery-->
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
<!--css样式修改-->
<style type="text/css">
.part{
    
    
    display: flex;
    align-items: center;
}
.turn{
    
    
    margin-left:20%;
}
.turn ul{
    
    
    display:flex;
    align-items: center;
}
li{
    
    
    list-style:none; 
}
.turn ul li a {
    
    
    padding: 4px;
    border:1px solid #f0f0f0;
    text-decoration: none;
    color: black;
    
}
</style>
    </head>
    <body>
    <div id="wrapper">
    <nav class="navbar navbar-default navbar-cls-top " role="navigation"
        style="margin-bottom: 0">
        <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse"
            data-target=".sidebar-collapse">
            <span class="sr-only">Toggle navigation</span> <span
            class="icon-bar"></span> <span class="icon-bar"></span> <span
            class="icon-bar"></span>
            </button>
            
            </div>
            <div
            style="color: white; padding: 15px 50px 5px 50px; float: right; font-size: 16px;">
            <img src="img/user.jpg" style="height: 30px;width: 30px">
            用户名:<span><?php echo $_SESSION['name'];if($_SESSION['name']==null){
    
    
				echo "<script>location.href='login.php'</script>";
			}?></span>&nbsp;&nbsp;<a href='newpassword.php' class="btn btn-success">修改密码</a>&nbsp;&nbsp;<a href="loginout.php" class="btn btn-danger square-btn-adjust">退出登录</a>
			</div>
		</nav>
		<!-- /. NAV TOP  -->
		<nav class="navbar-default navbar-side" role="navigation">
			<div class="sidebar-collapse">
				<ul class="nav" id="main-menu">
					
					<li><a class='active-menu' href="index.php"><i
							class="fa   fa-user fa-3x"><img src="img/人.png" style="height: 40x;width: 40px"></i>学生信息管理</a></li>
					<li><a  href="score.php"><i
							class="fa fa-university fa-3x"><img src="img/宫殿.png" style="height: 40x;width: 40px"></i>学生成绩管理</a></li>
					<li><a  href="subject.php"><i
							class="fa fa-pencil fa-3x"><img src="img/铅笔.png" style="height: 40x;width: 40px"></i> 科目管理</a></li>
				</ul>
			</div>
		</nav>
		<!-- /. NAV SIDE  -->
<!-- /. NAV SIDE  -->
<div id="page-wrapper">
	<div id="page-inner">
		<div class="row">
			<div class="col-md-12">
				<h2>学生基本信息</h2>
			</div>
		</div>
		<!-- /. ROW  -->
		<hr />
		<div class="row">
			<div class="col-md-12">
				<!-- Advanced Tables -->
				<div class="panel panel-default">
					<div class="panel-heading"><a href='insert.php' class="btn btn-primary">增加学生信息</a></div>
					<div class="add_b">
						<div class="b_a">
							<select name="page" class="page" onchange="gradeChange()">
								<option value="5">5</option>
								<option value="10">10</option>
								<option value="25">25</option>
								<option value="50">50</option>
							</select>
							<p>每页显示条数</p>
						</div>
						<p class="b_b">查找:<input type="search" name="search" class="sear" onkeyup="up()"></p>
					</div>
					<div class="panel-body">
						<div class="table-responsive">
							<table class="table table-striped table-bordered table-hover" id="dataTables-example">
								<thead>
									<tr>
										<th>学号</th>
										<th>姓名</th>
										<th>班级</th>
										<th>生日</th>
										<th>性别</th>
										<th>民族</th>
										<th>操作</th>
									</tr>
								</thead>
								    <?php
									include('public.php');//连接数据库
									@$page=!empty($_GET['page'])?$_GET['page']:1;//页码,请求自身的值,如果自身是空值会跳出错误,@用来屏蔽错误;
									@$pose=!empty($_GET['pose'])?$_GET['pose']:5;//每页显示条数,与上面同理
									$sql = "select * from basic limit " . (($page-1)*$pose) . "," . $pose;//限制输出,页码先减一,然后乘以条数可以得出输出的起始位置;
									$rel = mysqli_query($conn,$sql);//执行SQL语句
									while($row = mysqli_fetch_assoc($rel))
									{
    
    
										echo "<tr><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["num"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["name"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["class"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["day"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["sex"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["nation"]."</td><td><a href='edit.php?id=$row[id]' class='a'><input type='button' value='编辑' class='update'/></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='delete.php?id=$row[id]'><input type='button' value='删除' class='datele'/></a></td></tr>";
									}
									$sql="select count(*) as tobal from basic";//查询总数据,使用别名进行输出作用
									$res=mysqli_query($conn,$sql);//执行SQL语句
									$resu=mysqli_fetch_array($res);//关联数组,返回字段
									@$pages=ceil($resu['tobal']/$pose);//总页数,ceil做到一个取整的作用
								?>
								</table>
								<!--分页部分-->
								<div class="part">
								    <!--显示总记录数-->
								    <div class="sum">
								        <p>总记录数:<?php echo "".$resu['tobal']."";//通过上面的关联数组进行取值,获取到总页数?></p>
								    </div>
								    <!--上下翻页-->
								    <div class="turn">
								        <ul>
								            <li><a href="?page=<?php echo $page==1;//页码赋值为一?>">首页</a></li><!--首页-->
								            <li><a href="?page=<?php echo $page==1?1:($page-1)?>">上页</a></li><!--上页-->
								            <?php
								            for($i=1;$i<=$pages;$i++){
    
    //循环总页数,进行页码输出
								                $fio=$i;//页码
								                if($page==$fio){
    
    //判断页码相等输出页码,
								                    echo "<li style='background-color:#55aaff;'><a href='?page=$fio' style='color:white;'>$fio</a></li>";
								                }else{
    
    
								                    echo "<li><a href='?page=$fio'>$fio</a></li>";
								                }
								            }
								            if($page<$pages){
    
    //判断页码小于总记录数输出下页按钮
								                echo '<li><a href="?page='.($page+1).'">下一页</a></li>';//页码加一进行跳转页面
								            }
								            ?>
								            <li><a href="?page=<?php echo $fio;?>">尾页</a></li><!--尾页-->
								        </ul>
								    </div>
								</div>
						</div>
						<div class="table-responsive1"></div>
						<input type="hidden" class="inyer" value="<?php $pa=$_GET['page']; echo $pa; ?>">
						<input type="hidden" class="insea" value="<?php $se=$_GET['sear']; echo $se; ?>">
						<input type="hidden" class="indow" value="<?php $pa=$_GET['down']; echo $pa; ?>">
					</div>
					<!--鼠标事件触发过后的存放的内容-->
					<div id="grade"></div>
					<div id="grade1">
					    <table border="1px"style="border-collapse: collapse;" class="table table-striped table-bordered table-hover" cellpadding="4px">
					        <tr><td width="150px" height="40px">学生</td>
						    <td width="150px" height="40px">科目</td>
						    <td width="150px" height="40px">成绩</td></tr>
						</table>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
</div>

</body>
<!--事件添加-->
<script type="text/javascript">
// 鼠标事件触发
    function show(row){
    
    
        // console.log(row);
        $.ajax({
    
    
            data:{
    
    "row":row,},
			url:"mouse.php",
			type:"get",
			success:function(data){
    
    
			 //   console.log(data)
			 $("#grade1").hide();//原有内容隐藏
			 $("#grade").html("");//添加之前先清空
			 $("#grade").append(data);//添加查询数据
			}
        })
    }
    //鼠标事件离开
    function out(){
    
    
         $("#grade1").show();//原有内容显示
         $("#grade").html("");//清空内容
    }
    //搜索键盘事件
    function up(){
    
    
    // console.log(123);//测试事件是否触发
    var seek=$(".sear").val();//搜索框的值
    var down=$(".page").val();//获取下拉框的值也就是限制条数
        $.ajax({
    
    
            data:{
    
    
                "sear":seek,//传值
                "box":down,//下拉框值
            },
            url:"query.php",//路径,传值文件
            type:"get",//传值方式
            success:function(data){
    
    
                // console.log(data);
                $(".table-responsive").hide();//原有内容隐藏
                $(".table-responsive1").html("");//添加之前先清空
                $(".table-responsive1").append(data);//添加查询数据
            }
        })
    }
    
</script>
<script type="text/javascript">
//下拉框事件
    function gradeChange(){
    
    
        var down=$(".page").val();//获取下拉框的值也就是限制条数
        // console.log(down);//测试是否获取成功
        var seek=$(".sear").val();//获取搜索框的值
        // console.log(seek)//测试是否获取成功
        $.ajax({
    
    
            data:{
    
    
                "box":down,//下拉框值
                "sear":seek,//搜索框值
            },
            url:"query.php",
            type:"get",
            success:function(data){
    
    
               $(".table-responsive").hide();//原有内容隐藏
               $(".table-responsive1").html("");//添加之前先清空
               $(".table-responsive1").append(data);//添加查询数据
            }
        })
    }
//搜索分页
var inyer=$(".inyer").val();//页码
var insea=$(".insea").val();//搜索值
var indow=$(".indow").val();//下拉值
if(insea!=''||indow!=''){
    
    
    var inyer=$(".inyer").val();//页码
    var insea=$(".insea").val();//搜索值
    var indow=$(".indow").val();//下拉值
    // console.log(inyer,insea,indow)
    $.ajax({
    
    
        data:{
    
    
            "page":inyer,//页码
            "sear":insea,//传值
            "box":indow,//下拉框值
        },
        url:"query.php",
        type:"get",
        success:function(data){
    
    
            document.getElementsByClassName("sear")[0].value=insea;//搜索框的值等于获取到的值
			$(".page option[value='']").removeAttr("selected");//移除默认选项的选中状态  removeAttr("selected")
			$(".page option[value='"+indow+"']").attr("selected","selected");//根据ajax返回的value值来动态选中相对应选项
			 $(".table-responsive").hide();//原有内容隐藏
             $(".table-responsive1").html("");//添加之前先清空
             $(".table-responsive1").append(data);//添加查询数据
        }
    })
}
</script>
</html>

首页php部分

<?php
header("Content-Type: text/html; charset=utf8");//防止乱码
include('public.php');//连接数据库
$sear=$_GET["sear"];//查询值
$seek=$_GET["box"];//下拉框值
$page=!empty($_GET['page'])?$_GET['page']:1;//页码,请求自身的值,如果自身是空值会跳出错误,@用来屏蔽错误;
@$pose=!empty($_GET['box'])?$_GET['box']:5;//每页显示条数,与上面同理
if (strlen($sear)==0){
    
    //判断是否有值
    $sql="select * from basic limit " . (($page-1)*$pose) . "," . $pose;
} else {
    
    
    $sql="select * from basic where name like binary '%$sear%' or class like binary '%$sear%' or day like binary '%$sear%' or sex like binary '%$sear%' or nation like binary '%$sear%' limit " . (($page-1)*$pose) . "," . $pose;//MySQL 5.5 like 不会跳出错误,MySQL 5.5以上会跳错误,在like之后加上binary就不报错了
}
$rel=mysqli_query($conn,$sql);
if (!$rel) {
    
    
    printf("Error: %s\n", mysqli_error($conn));
    exit();
}//用来检测SQL语句的错误;
echo "<table class='table table-striped table-bordered table-hover' id='dataTables-example'>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>班级</th>
<th>生日</th>
<th>性别</th>
<th>民族</th>
<th>操作</th>
</tr>
</thead>";
while($row = mysqli_fetch_assoc($rel)){
    
    
    echo "<tr><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["num"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["name"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["class"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["day"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["sex"]."</td><td οnmοuseοver=show($row[id]) οnmοuseοut=out()>".$row["nation"]."</td><td><a href='edit.php?id=$row[id]' class='a'><input type='button' value='编辑' class='update'/></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='delete.php?id=$row[id]'><input type='button' value='删除' class='datele'/></a></td></tr>";
}
echo "</table>";
$sql="select count(*) as tobal from basic where name like binary '%$sear%' or class like binary '%$sear%' or day like binary '%$sear%' or sex like binary '%$sear%' or nation like binary '%$sear%'";//查询总数据,使用别名进行输出作用
$res=mysqli_query($conn,$sql);//执行SQL语句
$resu=mysqli_fetch_array($res);//关联数组,返回字段
@$pages=ceil($resu['tobal']/$pose);//总页数,ceil做到一个取整的作用
echo "	<div class='part'>";
//显示总记录数
echo "<div class='sum'>";
echo "<p>总记录数:".$resu['tobal']."</p></div>";//通过上面的关联数组进行取值,获取到总页数
//上下翻页
echo "<div class='turn'><ul>
<li><a href='?page=".($page==1)."&sear=".$_GET['sear']."&down=".$_GET['box']."'>首页</a></li>
<li><a href='?page=".($page-1)."&sear=".$_GET['sear']."&down=".$_GET['box']."'>上页</a></li>";
for($i=1;$i<=$pages;$i++){
    
    //循环总页数,进行页码输出
    $fio=$i;//页码
    if($page==$fio){
    
    //判断页码相等输出页码,
        echo "<li style='background-color:#55aaff;'><a href='?page=".$fio."&sear=".$_GET['sear']."&down=".$_GET['box']."' style='color:white;'>".$fio."</a></li>";
    }else{
    
    
        echo "<li><a href='?page=".$fio."&sear=".$_GET['sear']."&down=".$_GET['box']."'>".$fio."</a></li>";
    }
}
if($page<$pages){
    
    //判断页码小于总记录数输出下页按钮
    echo "<li><a href='?page=".($page+1)."&sear=".$_GET['sear']."&down=".$_GET['box']."'>下一页</a></li>";//页码加一进行跳转页面
}
echo "<li><a href='?page=".$pages."&sear=".$_GET['sear']."&down=".$_GET['box']."'>尾页</a></li></ul></div></div>";
mysqli_close($conn);//关闭数据库
?>

修改密码页面
newpassword.php

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>修改用户密码</title>
<!-- BOOTSTRAP STYLES-->
<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!-- CUSTOM STYLES-->
<link href="css/custom.css" rel="stylesheet" />
<!-- GOOGLE FONTS-->
<link href='http://fonts.googleapis.com/css?family=Open+Sans'
	rel='stylesheet' type='text/css' />
</head>
<body>
	<div class="container">
		<div class="row text-center ">
			<div class="col-md-12">
				<br /> <br />
				<h2>修改用户密码</h2>
				<br />
			</div>
		</div>
		<div class="row ">
			<div
				class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				<div class="panel panel-default">
					<div class="panel-heading">
						<strong> 请输入修改信息 </strong>
					</div>
					<div class="panel-body">
						<form role="form" action='newpassworddo.php' method='post'>
							<br />
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-lock"><img src="img/锁.png" style="height: 15px;width: 15px"></i></span>
								<input type="password" class="form-control"
									placeholder="在此输入原始密码" name='oldpassword' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-lock"><img src="img/锁.png" style="height: 15px;width: 15px"></i></span>
								<input type="password" class="form-control"
									placeholder="在此输入新密码" name='password' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-lock"><img src="img/锁.png" style="height: 15px;width: 15px"></i></span>
								<input type="password" class="form-control"
									placeholder="在此重复输入新密码" name='password1' />
							</div>
							<input type='submit' class="btn btn-primary " value='确认修改' name="submit" />
						</form>
					</div>
				</div>
			</div>
		</div>
	</div>
</body>
</html>

修改密码功能php文件
newpassworddo.php

<?php
session_start();//开启session用来查询账号
 header("Content-Type: text/html; charset=utf8");//防止乱码
 if(!isset($_POST["submit"])){
    
    
  exit("错误执行");
 }//检测是否有submit操作
include('public.php');//连接数据库
$name=$_SESSION["name"];//session存储的账号;
$old=md5($_POST["oldpassword"]);//确认原密码,用来判断是否正确;
$new1=md5($_POST["password"]);//新密码
$new2=md5($_POST["password1"]);//确认新密码
//echo $name,"<br/>",$old,"<br/>",$new1,"<br/>",$new2,"<br/>";//用来检测是否全部获取成功
$sql="select * from account where name=$name and pass='$old'";//查询账号密码
$rel=mysqli_query($conn,$sql);//执行sql语句
$rows=mysqli_num_rows($rel);//返回一个数值
// if (!$rel) {
    
    
//     printf("Error: %s\n", mysqli_error($conn));
//     exit();
// }//用来检测SQL语句的错误;
if($rows){
    
    //判断是否有返回值
    if($new1!=$new2){
    
    //判断两次密码是否一致
        echo "<script>alert('两次新密码填写不一致');
    location.href = 'newpassword.php';</script>";
    }else{
    
    
        $sql="update account set pass='$new1' where name=$name and pass='$old'";//进行修改
        $rel=mysqli_query($conn,$sql);//执行sql语句
        if(!$rel){
    
    
            echo "<script>alert('修改失败');location.href = 'newpassword.php';</script>";
        }else{
    
    
            echo "<script>alert('修改成功');location.href = 'index.php';</script>";
        }
    }
}else{
    
    
    echo "<script>alert('原密码输入错误');location.href = 'newpassword.php';</script>";
}
mysqli_close($conn);//关闭数据库
?>

退出登录PHP文件
loginout.php

<?php
header("Content-Type: text/html; charset=utf8");//防止乱码
session_start();//开启session
session_destroy();//销毁session
echo "<script>alert('退出成功');location.href='login.php'</script>";
?>

添加学生信息
insert.php

<!DOCTYPE html>
<?php session_start();?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>学生信息管理系统</title>
<!-- BOOTSTRAP STYLES-->
<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!-- MORRIS CHART STYLES-->
<link href="css/morris-0.4.3.min.css" rel="stylesheet" />
<!-- CUSTOM STYLES-->
<link href="css/custom.css" rel="stylesheet" />
    </head>
    <body>
    <div id="wrapper">
    <nav class="navbar navbar-default navbar-cls-top " role="navigation"
        style="margin-bottom: 0">
        <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse"
            data-target=".sidebar-collapse">
            <span class="sr-only">Toggle navigation</span> <span
            class="icon-bar"></span> <span class="icon-bar"></span> <span
            class="icon-bar"></span>
            </button>
            
            </div>
            <div
            style="color: white; padding: 15px 50px 5px 50px; float: right; font-size: 16px;">
            <img src="img/user.jpg" style="height: 30px;width: 30px">
            用户名:<span><?php echo $_SESSION['name'];if($_SESSION['name']==null){
    
    
				echo "<script>location.href='login.php'</script>";
			}?></span>&nbsp;&nbsp;<a href='newpassword.php' class="btn btn-success">修改密码</a>&nbsp;&nbsp;<a href="loginout.php"
					class="btn btn-danger square-btn-adjust">退出登录</a>
			</div>
		</nav>
		<!-- /. NAV TOP  -->
		<nav class="navbar-default navbar-side" role="navigation">
			<div class="sidebar-collapse">
				<ul class="nav" id="main-menu">
					
					<li><a  href="index.php"><i
							class="fa   fa-user fa-3x"><img src="img/人.png" style="height: 40x;width: 40px"></i>学生信息管理</a></li>
					<li><a  href="score.php"><i
							class="fa fa-university fa-3x"><img src="img/宫殿.png" style="height: 40x;width: 40px"></i>学生成绩管理</a></li>
					<li><a  href="subject.php"><i
							class="fa fa-pencil fa-3x"><img src="img/铅笔.png" style="height: 40x;width: 40px"></i> 科目管理</a></li>
					
				</ul>
			</div>
		</nav>
		<!-- /. NAV SIDE  --><!-- /. NAV SIDE  -->
<div id="page-wrapper">
	<div id="page-inner">
		<div class="row">
			<div class="col-md-12">
				<h2>增加学生基本信息</h2>
			</div>
		</div>
		<!-- /. ROW  -->
		<hr />
		<div class="row">
			<div class="col-md-6 col-md-offset-1">
				<!-- class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1"> -->
				<div class="panel panel-default">
					<div class="panel-heading">
						<strong> 增加学生信息 </strong>
					</div>
					<div class="panel-body">
						<form role="form" action="insertdo.php" method='post'>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-circle-o-notch">
										<img src="img/圆.png" style="height: 13x;width: 13px">学号</i></span> <input type="text" class="form-control"
									placeholder="学号 " name='studentId' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 13x;width: 13px"> 姓名</i></span>
								<input type="text" class="form-control" placeholder=" 姓名"
									name='name' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 13x;width: 13px"> 班级</i></span>
								<input type="text" class="form-control" placeholder="班级"
									name='className' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 13x;width: 13px"> 生日</i></span>
								<input type="date" class="form-control" placeholder="生日"
									id='birthday' name='birthday' />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 13x;width: 13px"> 性别</i></span>
								<div align='left'>&nbsp;&nbsp;
									<input type="radio" placeholder="性别" name='sex' value='男'/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio"
										placeholder="性别" name='sex' value='女' /></div>
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 13x;width: 13px"> 民族</i></span>
								<input type="text" class="form-control" placeholder="民族"
									name='nation' />
							</div>
							<input type='submit' class="btn btn-info" value='确认添加' name='submit' />
						</form>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
</body>
</html>

添加学生信息php文件
insertdo.php

<?php
header("Content-Type: text/html; charset=utf8");//防止乱码
if(!isset($_POST["submit"])){
    
    
    exit("错误执行");
}//检测是否有submit操作 
include('public.php');//连接数据库
$num=$_POST['studentId'];//获取学号
$name=$_POST['name'];//获取姓名
$class=$_POST['className'];//获取班级
$day=$_POST['birthday'];//获取生日
$sex=$_POST['sex'];//获取性别
$nation=$_POST['nation'];//获取民族
//echo $num,"<br/>",$name,"<br/>",$class,"<br/>",$day,"<br/>",$sex,"<br/>",$nation,"<br/>";//检测是否获取成功基本信息
$sql = "insert into basic(num,name,class,day,sex,nation) values ('$num','$name','$class','$day','$sex','$nation')";
$rel = mysqli_query($conn,$sql);//执行sql语句
if($rel){
    
    
    echo "<script>alert('添加成功');location.href = 'index.php';</script>";
}else{
    
    
    echo "<script>alert('添加失败');location.href = 'insert.php';</script>";
}
mysqli_close($conn);//关闭数据库
?>

编辑信息页面
edit.php

<!DOCTYPE html>
<?php session_start();?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>学生信息管理系统</title>
<!-- BOOTSTRAP STYLES-->
<link href="css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="css/font-awesome.css" rel="stylesheet" />
<!-- MORRIS CHART STYLES-->
<link href="css/morris-0.4.3.min.css" rel="stylesheet" />
<!-- CUSTOM STYLES-->
<link href="css/custom.css" rel="stylesheet" />
    </head>
    <body>
    <div id="wrapper">
    <nav class="navbar navbar-default navbar-cls-top " role="navigation"
        style="margin-bottom: 0">
        <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse"
            data-target=".sidebar-collapse">
            <span class="sr-only">Toggle navigation</span> <span
            class="icon-bar"></span> <span class="icon-bar"></span> <span
            class="icon-bar"></span>
            </button>
            
            </div>
            <div
            style="color: white; padding: 15px 50px 5px 50px; float: right; font-size: 16px;">
            <img src="img/user.jpg" style="height: 30px;width: 30px">
            用户名:<span><?php echo $_SESSION['name'];if($_SESSION['name']==null){
    
    
				echo "<script>location.href='login.php'</script>";
			}?></span>&nbsp;&nbsp;<a href='newpassword.php' class="btn btn-success">修改密码</a>&nbsp;&nbsp;<a href="loginout.php"
					class="btn btn-danger square-btn-adjust">退出登录</a>
			</div>
		</nav>
		<!-- /. NAV TOP  -->
		<nav class="navbar-default navbar-side" role="navigation">
			<div class="sidebar-collapse">
				<ul class="nav" id="main-menu">
					
					<li><a  href="index.php"><i
							class="fa   fa-user fa-3x"><img src="img/人.png" style="height: 40px;width: 40px"></i>学生信息管理</a></li>
					<li><a  href="score.php"><i
							class="fa fa-university fa-3x"><img src="img/宫殿.png" style="height: 40px;width: 40px"></i>学生成绩管理</a></li>
					<li><a  href="subject.php"><i
							class="fa fa-pencil fa-3x"><img src="img/铅笔.png" style="height: 40px;width: 40px"></i> 科目管理</a></li>
					
				</ul>
			</div>
		</nav>
		<!-- /. NAV SIDE  --><!-- /. NAV SIDE  -->
<div id="page-wrapper">
	<div id="page-inner">
		<div class="row">
			<div class="col-md-12">
				<h2>修改学生基本信息</h2>
			</div>
		</div>
		<!-- /. ROW  -->
		<hr />
		<div class="row">
			<div class="col-md-6 col-md-offset-1">
				<!-- class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1"> -->
				<div class="panel panel-default">
					<div class="panel-heading">
						<strong> 编辑学生信息 </strong>
					</div>
					<?php
					header("Content-Type: text/html; charset=utf8");// 防止乱码
					include('public.php');//连接数据库
					$id=$_REQUEST['id'];//请求值
					$sql= "select * from basic where id=$id";//查询数据
					$rel=mysqli_query($conn,$sql);//运行sql语句
					$row=mysqli_fetch_assoc($rel);//关联数组
					$sex="".$row['sex']."";//定义性别用来判断
					mysqli_close($conn);//关闭数据库
					?>
					<div class="panel-body">
						<form role="form" action="editdo.php" method='post'>
							<br /> <input type='hidden' name='id' value='<?php echo "".$row['id'].""?>' />
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-circle-o-notch">
										<img src="img/圆.png" style="height: 12px;width: 12px">学号</i></span> <input type="text" class="form-control"
									placeholder="学号 " name='studentId'
									value="<?php echo "".$row['num']."" ?>" />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"><img src="img/标签.png" style="height: 12px;width: 12px"> 姓名</i></span>
								<input type="text" class="form-control" placeholder=" 姓名"
									name='name' value="<?php echo "".$row['name']."" ?>" />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"> <img src="img/标签.png" style="height: 12px;width: 12px">班级</i></span>
								<input type="text" class="form-control" placeholder="班级"
									name='className' value="<?php echo "".$row['class']."" ?>" />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"> <img src="img/标签.png" style="height: 12px;width: 12px">生日</i></span>
								<input type="date" class="form-control" placeholder="生日"
									id='birthday' name='birthday' value="<?php echo "".$row['day']."" ?>" />
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"> <img src="img/标签.png" style="height: 12px;width: 12px">性别</i></span>
								<div align='left'>&nbsp;&nbsp;
									<input type="radio" placeholder="性别" name='sex' value='男' <?php if($sex=="男") echo "checked";?>
										 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio"
										placeholder="性别" name='sex' value='女' <?php if($sex=="女") echo "checked";?>
										 /></div>
							</div>
							<div class="form-group input-group">
								<span class="input-group-addon"><i class="fa fa-tag"> <img src="img/标签.png" style="height: 12px;width: 12px">民族</i></span>
								<input type="text" class="form-control" placeholder="民族"
									name='nation' value="<?php echo "".$row['nation']."" ?>" />
							</div>
							<input type='submit' name='submit' class="btn btn-success" value='确认修改' />
						</form>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
</script>
</body>
</html>

编辑信息页面
editdo.php

<?php
header("Content-Type: text/html; charset=utf8");//防止乱码
if(!isset($_POST["submit"])){
    
    
    exit("错误执行");
}//检测是否有submit操作 
include('public.php');//连接数据库
$id=$_POST["id"];//获取id,作为特定条件
$num=$_POST['studentId'];//获取学号
$name=$_POST['name'];//获取姓名
$class=$_POST['className'];//获取班级
$day=$_POST['birthday'];//获取生日
$sex=$_POST['sex'];//获取性别
$nation=$_POST['nation'];//获取民族
//echo $num,"<br/>",$name,"<br/>",$class,"<br/>",$day,"<br/>",$sex,"<br/>",$nation,"<br/>";//检测是否获取成功基本信息
$sql="update basic set num='$num',name='$name',class='$class',day='$day',sex='$sex',nation='$nation' where id='$id'";//sql语句修改数据
$rel=mysqli_query($conn,$sql);//执行sql语句
if($rel){
    
    
     echo "<script>alert('修改成功');location.href='index.php'</script>";
}else{
    
    
     echo "<script>alert('修改失败');location.href='index.php'</script>";
}
mysqli_close($conn);//关闭数据库
?>

删除信息
delete.php

<?php
 header("Content-Type: text/html; charset=utf8");//防止乱码
 include('public.php');//连接数据库
 $id=$_REQUEST['id'];//请求值
 // echo $val;
 $sql="delete from basic where id='$id'"; //sql语句删除数据
 $rel=mysqli_query($conn,$sql);//执行sql语句
 if(!$rel)//判断是否成功删除数据
 {
    
    
	 echo "<script>alert('删除失败');location.href='index.php'</script>";
 }else{
    
    
	 echo "<script>alert('删除成功');location.href='index.php'</script>";
 }
 mysqli_close($conn);//关闭数据库
?>

鼠标事件
mouse.php

<?php
 header("Content-Type: text/html; charset=utf8");//防止乱码
 include('public.php');//连接数据库
 $row=$_GET['row'];//接收值
//  echo $row;//检测是否获取值
 $sql = "select basic.name,score.subject,score.grade from basic left join score on basic.num = score.num where basic.id = $row";//使用sqi语句进行拼表
 $rel = mysqli_query($conn,$sql);//指向sql语句
 echo "<table border='1px'style='border-collapse: collapse;' class='table table-striped table-bordered table-hover' cellpadding='4px'>
 <tr><td width='150px' height='40px'>学生</td>
 <td width='150px' height='40px'>科目</td>
 <td width='150px' height='40px'>成绩</td></tr>";//表头
 if($row){
    
    //判断是否收到传值
 	while($and=mysqli_fetch_assoc($rel)){
    
    //while循环数据,sql语句关联数组,进行数据输出
 		echo "<tr><td>".$and["name"]."</td><td>".$and["subject"]."</td><td>".$and["grade"]."</td></tr>";
 	}
 	}
 echo "</table>";
 mysqli_close($conn);//关闭数据库
 ?>

剩下的两个页面就请大家根据第一页面的代码自行脑补;谢谢大家!!!!

猜你喜欢

转载自blog.csdn.net/Kenneth_JC/article/details/114366280