说到混编呢!像刚进入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> <a href='newpassword.php' class="btn btn-success">修改密码</a> <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> <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> <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> <a href='newpassword.php' class="btn btn-success">修改密码</a> <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'>
<input type="radio" placeholder="性别" name='sex' value='男'/>男 <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> <a href='newpassword.php' class="btn btn-success">修改密码</a> <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'>
<input type="radio" placeholder="性别" name='sex' value='男' <?php if($sex=="男") echo "checked";?>
/>男 <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);//关闭数据库
?>
剩下的两个页面就请大家根据第一页面的代码自行脑补;谢谢大家!!!!