07-php雇员管理系统-分层模式实现登录,分页
2013-08-13 13:31
746 查看
项目目录结构:
Admin.class.php
<?php //它的一个对象实例就表示admin表中的一条记录 class Admin { private $id; private $name; private $password; /** * @return the $id */ public function getId() { return $this->id; } /** * @return the $name */ public function getName() { return $this->name; } /** * @return the $password */ public function getPassword() { return $this->password; } /** * @param $id the $id to set */ public function setId($id) { $this->id = $id; } /** * @param $name the $name to set */ public function setName($name) { $this->name = $name; } /** * @param $password the $password to set */ public function setPassword($password) { $this->password = $password; } } ?>
AdminService.class.php
<?php /** * 该类是一个业务逻辑处理类 * 完成对admin表的操作 */ require_once 'SqlHelper.class.php'; class AdminService { //验证用户是否合法的方法 public function checkAdmin($id, $password) { $sql = "select password,name from admin where id=$id"; //创建一个sqlhelper对象 $sqlHelper=new SqlHelper(); $res=$sqlHelper->execute_dql($sql); if($row=mysql_fetch_assoc($res)){ //判断密码是否正确 if(md5($password)==$row['password']){ return $row['name']; }else{ //""为假 return ""; } } //资源释放 mysql_free_result($res); //关闭连接 $sqlHelper->close_connect(); return false; } } ?>
Emp.class.php
<?php class Emp{ } ?>
empList.php
<html> <head> <meta content="text/html;charset=utf-8" http-equiv="content-type"> <title>雇员信息列表</title> </head> <?php require_once 'EmpService.class.php'; $pageSize = 20; //每页数 $rowCount = 0; //记录数 $pageNow = 1; //当前页 //根据用户的点击收取$PageNow的值 if (! empty ( $_GET ['pageNow'] )) { $pageNow = $_GET ['pageNow']; } //创建对象实例 $empService = new EmpService (); //调用求总共的页数的方法 $pageCount = $empService->getPageCount ( $pageSize ); //调用getEmplistBypage方法,来获得应当显示的数据 $res2 = $empService->getEmpListByPage ( $pageNow, $pageSize ); echo "<h1>雇员信息列表</h1>"; //表格显示分页查询后的结果 echo "<table width='700px' border='1px' bordercolor='green' cellspacing='0px'>"; echo "<tr><th>id</th><th>name</th><th>grade</th>"; echo "<th>email</th><th>salary</th><th>删除</th><th>修改</th></tr>"; for($i = 0; $i < count ( $res2 ); $i ++) { $row = $res2 [$i]; echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['grade']}</td>"; echo "<td>{$row['email']}</td><td>{$row['salary']}</td>"; echo "<td><a href='#'>删除用户</a></td>"; echo "<td><a href='#'>修改用户</a></td><tr>"; } echo "</table>"; //显示上一页和下一页 if ($pageNow > 1) { $prePage = $pageNow - 1; echo "<a href='empList.php?pageNow=$prePage'>上一页</a> "; } if ($pageNow < $pageCount) { $nextPage = $pageNow + 1; echo "<a href='empList.php?pageNow=$nextPage'>下一页</a> "; } //显示当前页和共有多少页 echo "当前页{$pageNow}/共{$pageCount}页"; echo "<br/><br/>"; ?> <form action="empList.php" method="get">跳转到:<input type="text" name="pageNow" style="width: 40px;" />页 <input type="submit" value="Go" /> </form> </html>
empManage.php
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <?php echo "欢迎你," . $_GET ['name'] . "登录成功!..."; echo "<br/><a href='login.php'>返回重新登录</a>"; ?> <h1>主界面</h1> <a href="empList.php">管理用户</a> <br /> <a href="#">添加用户</a> <br /> <a href="#">查询用户</a> <br /> <a href="#">退出系统</a> <br /> </html>
EmpService.class.php
<?php require_once 'SqlHelper.class.php'; class EmpService { //一个函数,可以用来获取公有多少页 function getPageCount($pageSize) { //需要查询到$rowCount $sql = "select count(id) from emp"; $sqlHelper = new SqlHelper (); $res = $sqlHelper->execute_dql ( $sql ); //这样就可以计算pageCount if ($row = mysql_fetch_row ( $res )) { $pageCount = ceil ( $row [0] / $pageSize ); } //释放资源,关闭连接 mysql_free_result ( $res ); $sqlHelper->close_connect (); return $pageCount; } //一个函数,用来获取应当显示的雇员信息 function getEmpListByPage($pageNow, $pageSize) { $sql = "select * from emp limit " . ($pageNow - 1) * $pageSize . ",$pageSize"; $sqlHelper = new SqlHelper (); $res = $sqlHelper->execute_dql2 ( $sql ); //关闭连接 $sqlHelper->close_connect (); return $res; } } ?>
login.php
<html> <head> <meta content="text/html;charset=utf-8" http-equiv="content-type"> </head> <h1>管理员登录系统</h1> <form action="loginProcess.php" method="post"> <table> <tr> <td>用户id</td> <td><input type="text" name="id" /></td> </tr> <tr> <td>密 码</td> <td><input type="password" name="password" /></td> </tr> <tr> <td><input type="submit" value="用户登录" /></td> <td><input type="reset" value="重新填写" /></td> </tr> </table> </form> <?php if (! empty ( $_GET ['errno'] )) { $errno = $_GET ['errno']; if ($errno == 1) { echo "<font color='red' size='3'>你的用户名或密码错误</font>"; } } ?> </html>
loginProcess.php
<?php require_once 'AdminService.class.php'; //接受用户的数据 //1.id $id = $_POST ['id']; //2.密码 $password = $_POST ['password']; //实例化一个AdminService方法 $adminService = new AdminService (); if ($adminService->checkAdmin ( $id, $password )) { $name=$adminService->checkAdmin ( $id, $password ); //合法 header ( "Location:empManage.php?name=$name" ); exit (); } else { //非法 header ( "Location:login.php?errno=1" ); exit (); } ?>
SqlHelper.class.php
<?php /** * 操作数据库的工具类 * 作用是完成对数据库的操作 * @author Administrator * */ class SqlHelper { public $conn; //数据库连接 public $dbname = "test"; //数据库的名称 public $username = "root"; // public $password = "root"; public $host = "localhost"; //构造函数 public function __construct() { $this->conn = mysql_connect ( $this->host, $this->username, $this->password ); if (! $this->conn) { die ( "连接失败!" . mysql_error () ); } mysql_select_db ( $this->dbname, $this->conn ); } //执行dql语句 public function execute_dql($sql) { $res = mysql_query ( $sql, $this->conn ) or die ( mysql_error () ); return $res; } //执行dql语句,但是返回的是一个数组 public function execute_dql2($sql) { $arr = array (); $res = mysql_query ( $sql, $this->conn ) or die ( mysql_error () ); $i = 0; //把$res中的资源放到数组中区 while ( $row = mysql_fetch_assoc ( $res ) ) { $arr [$i ++] = $row; } //这里可以立即关闭$res mysql_free_result ( $res ); return $arr; } //执行dml语句 public function execute_dml($sql) { $b = mysql_query ( $sql, $this->conn ); if (! $b) { return 0; //表示失败 } else { if (mysql_affected_rows ( $this->conn ) > 0) { return 1; //表示执行ok } else { return 2; //表示没有受影响的行 } } } //关闭连接的方法 public function close_connect() { if (!empty ( $this->conn )) { mysql_close ( $this->conn ); } } } ?>
运行效果:
相关文章推荐
- 08-php雇员管理系统-分层模式实现通用分页
- 02-php雇员管理系统-实现登录(连接数据库)
- 01-php项目之雇员管理系统1-实现登录功能
- 06-php雇员管理系统-实现显示雇员信息列表分页改进(可以处理大数据100000条)
- 05-php雇员管理系统-实现显示雇员信息列表分页
- C# 分层开发的案例 学生管理系统 实现用户的登录和修改密码
- 使用PHP制作 简易员工管理系统之六(采用分层分页显示用户信息)
- 分层模式:OOP分页管理系统
- 03-php雇员管理系统-实现显示用户名称
- 04-php雇员管理系统-实现显示雇员信息列表
- ssh之雇员管理系统(10)-分页实现
- 项目实战篇-餐馆管理系统—MFC,PHP,MySql:2.登陆功能的实现
- php之用户管理系统的实现!(从简单到复杂)
- PHP系统左侧菜单栏的管理与实现
- php如何实现web系统单点登录
- 01.java实现冷饮批发管理系统-页面设计之【登录页面】
- 简单的图书管理系统php实现
- Java之------单机版书店管理系统(设计思想和设计模式系列八)登录模块
- 整合公司3个网站后台管理子系统的经验总结 - 实现多系统的单点登录(ASP.NET + ASP)
- 基于通用权限管理系统实现的单点登录