php学习笔记——综合实例(学生信息管理系统)

一、建立数据库

这里省略

二、连接数据库公共文件

conn.php

<?php
//(1)数据库配置信息
$db_host="localhost"; //主机名
$db_port="3306"; //端口号
$db_user="root"; //用户名
$db_pass="root"; //密码
$db_name="dbname"; //数据库名
$charset="utf8"; //字符集

//(2)PHP连接MySQL服务器
if(!$link=@mysqli_connect($db_host.":".$db_port,$db_user,$db_pass))
{
    echo "<h2>PHP连接MySQL服务器失败!</h2>";  
    echo "系统错误信息:".mysqli_connect_error();
    die(); //中止程序向下运行,也可以用 exit([string $string])
}

//(3)选择当前数据库
if(!mysqli_select_db($link,$db_name))
{
    echo "<h2>选择数据库{$db_name}失败!</h2>"
    die();
}

//(4)设置数据库返回数据字符集
mysqli_set_charset($link,$charset);


?>

三、学生信息列表页

list.php

<?php
//包含连接数据库的公共文件
require_once("./conn.php")
//执行查询语句
$sql="SELECT * FROM student ORDER BY id DESC";
$result=mysqli_query($link,$sql);
//var_dump($result);
//获取所有行数据
$arrs=mysqli_fetch_all($result,MYSQLI_ASSOC);
//获取学生人数
$records=mysqli_num_rows($result);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生信息管理中心</title>
<script type="text/javascript">
function confirmDel(id)
{
//询问是否要删除?
  if(window.confirm("你真的要删除吗?"))
  {
    //如果单击“确定”按钮,跳转到delete.php 页面
    location.href="./delete.php?id="+id; //不是表单发送的就是GET
  }

}
</script>
</head>
<body>
<div style="text-align:center;padding-bottom:10px;">
    <h2>学生信息管理中心</h2>
    <a href="./add.php">添加学生</a>
    共有<font color=red><?php echo $result ?></font>个学生信息
</div>
<table width="600" border="1" align="center" rules="all" cellpadding="5">
  <tr bgcolor='#ccc'>
      <th>编号</th>
      <th>姓名</th>
      <th>性别</th>
      <th>年龄</th>
      <th>学历</th>
      <th>工资</th>
      <th>奖金</th>
      <th>籍贯</th>
      <th>操作选项</th>
  </tr>
<?php
//循环二维数组
foreach($arrs as $arr)
{
?>
  <tr align='center'>
      <td><?php echo $arr['id']?></td>
      <td><?php echo $arr['name']?></td>
      <td><?php echo $arr['sex']?></td>
      <td><?php echo $arr['age']?></td>
      <td><?php echo $arr['edu']?></td>
      <td><?php echo $arr['salary']?></td>
      <td><?php echo $arr['bonus']?></td>
      <td><?php echo $arr['city']?></td>
      <td>
          <a href="">修改</a> |
          <a href="#" onClick="confirmDel(<?php echo $arr['id']?>)">删除</a>
      </td>
  </tr> 
<?php
}
?>

</table>
</body>

注意:

require_once("./conn.php");  //不管写几遍,都只加载一次

require("./conn.php") ; //写几遍加载几次,容易造成函数重复。PHP不支持函数重载

四、删除学生信息

delete.php

<?php
//包含连接数据库的公共代码
require_once("./conn.php");

//获取地址栏传递的ID
$id=$_GET['id'];

//构建删除的SQL语言
$sql="DELETE FROM student WHERE id=$id";

//执行SQL语句
if(mysqli_query($link,$sql))
{
    echo "<h2>id={$id}的记录删除成功!</h2>";
    //告诉浏览器执行代码,等待3秒,并跳转到list.php文件
    header("refresh:3;url=./list.php");
    die();//终止程序向下运行
}else
{
    echo "<h2>id={$id}的记录删除失败!</h2>";
    //告诉浏览器执行代码,等待3秒,并跳转到list.php文件
    header("refresh:3;url=./list.php");
    die();//终止程序向下运行
}

?>

五、添加学生信息

(1)制作添加学生表单

<?php
//判断表单是否合法提交(防止黑客攻击)
if(isset($POST['token']) && $_POST['token'=="add"])
{
    //获取表单提交数据
    $name=$POST['name'];
    $sex=$POST['sex'];
    $age=$POST['age'];
    $edu=$POST['edu'];
    $salary=$POST['salary'];
    $bonus=$POST['bonus'];
    $city=$POST['city'];

    //构建插入的SQL语句
    $sql="INSERT INTO student VALUES(null,'$name','sex','age','edu','salary','bonus','city')";

    //判断SQL语句是否执行成功
    //执行SQL语句
    if(mysqli_query($link,$sql))
    {
        echo "<h2>记录添加成功!</h2>";
        //告诉浏览器执行代码,等待3秒,并跳转到list.php文件
        header("refresh:3;url=./list.php");
        die();//终止程序向下运行
    }else
    {
        echo "<h2>记录添加失败!</h2>";
        //告诉浏览器执行代码,等待3秒,并跳转到list.php文件
        header("refresh:3;url=./list.php");
        die();//终止程序向下运行
    }

}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生信息管理中心</title>
</head>
<body>
<div style="text-align:center;padding-bottom:10px;">
    <h2>学生信息管理中心——添加学生</h2>
    <a href="./list.php">返回</a>
</div>

<form method="post" action=""> //action=""  表示表单数据发给自己处理
<table width="400" bordercolor="#ccc" border="1" rules="all" align="center">

  <tr>
    <td width="80" align="right">姓名:</td>
    <td><input type="text" name="name"></td>
  </tr>
  <tr>
    <td width="80" align="right">性别:</td>
    <td><input type="radio" name="sex" value="男" checked>男</td>
    <td><input type="radio" name="sex" value="女">女</td>
  </tr>
  <tr>
    <td width="80" align="right">年龄</td>
    <td><input type="text" name="age"></td>
  </tr>
  <tr>
    <td width="80" align="right">学历</td>
    <td>
        <select name="edu">
             <option value="1">初中</option>
             <option value="2">高中</option>
             <option value="3" selected="selected">大专</option>
             <option value="4">本科</option>
             <option value="5">研究生</option>
        </select>
    </td>
  </tr>
  <tr>
    <td width="80" align="right">工资:</td>
    <td><input type="text" name="salary"></td>
  </tr>
  <tr>
    <td width="80" align="right">奖金:</td>
    <td><input type="text" name="bonus"></td>
  </tr>
  <tr>
    <td width="80" align="right">籍贯:</td>
    <td><input type="text" name="city"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>
       <input type="submit" name="submit" value="提交">
       <input type="hidden" name="token" value="add"> //add实际中改为随机值,防止非法提交
                                                      //服务器一份,表单一份,进行比对,防止                                                      
                                                      //黑客攻击
       <input type="reset" value="重置">
    </td>
  </tr>
</table>

</body>
</html>

 

随着我国教育事业的飞速发展,大中专学校教育规模不断扩大,在校学生人数急剧增加,有关学生的各类信息也成倍增长,如何及时处理和科学运用这些庞大的数据信息,来辅助在校学生的日常管理工作,提高学生信息管理工作的效率,已成为当前大中专学校学生管理工作中的重要课题。目前,利用计算机技术来管理和处理学生的各类信息,已是大中专学校积极开发和普遍采用的一种技术手段。 浏览器/服务器(Browser/Server,B/S)是一种全新的软件系统构造技术,它利用用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。具有软件的系统安装、修改和维护全在服务器端解决,提供异种机、异种网、异种应用服务的联机、联网和统一服务的最现实的开放性基础等优点。 超级文本预处理语言(PHP:Hypertext Preprocessor,PHP),是一种在服务器端执行的嵌入HTML文档的脚本语言,它可以比 CGI 或者 Perl 更快速的执行动态网页。具有跨平台,性能优越,语法简单,目前主流技术都支持,有成熟的社区来支持PHP的开发等特点。 上面二者结合开发信息系统的特点,如今已成为当前信息管理系统开发和设计的首选方案,开发的信息管理系统更安全、高效、适用。 本课题在对学生管理系统开发技术分析的基础上,从分析B/S架构着手,具体解析了PHP编程技术,介绍了管理系统的设计思想,并利用PHP技术设计和实现了学生信息管理系统各个模块的开发。该系统利用网络窗体WebForm技术设计动态页面,用MySQL实现数据库的管理,用Dreamweaver MX开发工具实现静态页面的设计,用Web Services(网络服务)实现网络的调用。具有开发速度快,支持容量大,程序代码效率高,安全性好和易扩展性等优点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值