【PHP小项目使用MVC架构】

小项目名称是雇员管理系统。

mvc是一种项目的开发模式,中文名称为模式视图控制器,是强制程序员将数据的输入、处理、输出分开的一种开发模式。

在这个小项目中,控制器使用service作为后缀名。

项目uml图解概述:

在此之前,需要先创建数据库empmanage,同时创建两张表,一张表为admin,令一张表为emp,创建admin表的sql语句:

create table admin
(
id int primary key,
name varchar(32) not null,
password varchar(64) not null
);

create table emp(
id int primary key auto_increment,
name varchar(64) not null,
grade  tinyint /****1表示1级工人,2表示2级工人*****/,
email varchar(64) not null,
salary float
);

按照字段名向admin表插入1条管理员用户数据,向emp表插入几万条数据即可,向emp表插入数据的时候使用mysql的蠕虫复制功能,分分钟就可以搞定。

将root密码改为5a6f38,否则连接不到数据库。

下面将会将文件名以及文件中的源代码介绍给大家。

login.php

 1 <?php
 2 require_once ‘common.php‘;
 3 ?>
 4 <html>
 5 <head>
 6 <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
 7 </head>
 8 <!--此版本完成了验证码验证的问题-->
 9
10 <body>
11 <h1>管理员登陆界面</h1>
12 <form action="loginProcess.php" method="post">
13 <table>
14 <tr>
15 <td>请输入用户id:</td>
16 <td><input type="text" name="admin_id" value="<?php echo getUserName();?>"/></td>
17 </tr>
18
19 <tr>
20 <td>请输入用户密码:</td>
21 <td><input type="password" name="admin_password" value="<?php echo getPassword();?>"/></td>
22 </tr>
23
24 <tr>
25 <td>请输入验证码:</td>
26 <td><input type="text" name="checkCode"/></td>
27 <td><img src="checkCode.php" onclick="this.src=‘checkCode.php?re=‘+Math.random()"/></td>
28 </tr>
29 <tr>
30 <td colspan="2">
31 两周内免登陆本系统:
32 <input type="checkbox" name="userinf" value="on" checked="checked"/>
33 </td>
34 </tr>
35
36 <tr>
37 <td><input type="submit" value="单击登陆"/></td>
38 <td><input type="reset" value="重新填写"/></td>
39 </tr>
40 </table>
41 </form>
42
43 <?php
44 $error="初始值";
45 $error=$_GET[‘error‘];//使用header传递参数,默认的提交方式是GET
46 echo "<font color=red>".$error."</font>";
47 ?>
48 </body>
49 </html>

addEmp.php

 1 <?php
 2 /**
 3  * 进行用户验证
 4  */
 5 require_once ‘common.php‘;
 6 checkUser();
 7 ?>
 8
 9
10 <html>
11 <!--这个是专门针对添加用户设计的界面-->
12 <head>
13 <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
14 </head>
15 <body>
16 <center><h1><font size=‘30px‘>这里是添加用户的界面</font></h1></center>
17 <br/>
18 <br/>
19 <form action="empProcess.php" method="post">
20 <table align="center" cellpadding="10px">
21
22 <tr align="center">
23 <td>请输入姓名:</td>
24 <td><input type="text" name="name"/></td>
25 </tr>
26
27 <tr align="center">
28 <td>请输入您的等级:</td>
29 <td><input type="text" name="grade"/></td>
30 </tr>
31
32 <tr align="center">
33 <td>请输入您的邮箱:</td>
34 <td><input type="text" name="email"/></td>
35 </tr>
36
37 <tr align="center">
38 <td>请输入您的薪水:</td>
39 <td><input type="text" name="salary"/></td>
40 </tr>
41 <input type="hidden" name="type" value="add"/>
42 <tr align="center">
43 <td><input type="submit" name="submit" value="单击提交" /></td>
44 <td><input type="reset" name="reset" value="重新输入" /></td>
45 </tr>
46 <tr>
47 <td colspan="2"><a href="empMain.php?name=admin">单击返回上一级</a></td>
48 </tr>
49 </table>
50 </form>
51 </body>
52 </html>

Admin.class.php

 1 <?php
 2 class Admin
 3 {
 4     private $id;
 5     private $name;
 6     private $password;
 7     public function getid()
 8     {
 9         return $this->id;
10     }
11     public function setid($id)
12     {
13         $this->id=id;
14     }
15     public function getname()
16     {
17         return $this->name;
18     }
19     public function setname($name)
20     {
21         $this->name=$name;
22     }
23     public function getpassword()
24     {
25         return $this->password;
26     }
27     public function setpassword($password)
28     {
29         $this->password=$password;
30     }
31 }
32 ?>

AdminService.class.php

 1 <?php
 2 require_once ‘SqlHelper.class.php‘;
 3 class AdminService
 4 {
 5     public function checkAdmin($get_id,$get_password)
 6     {
 7         $sql="select password from admin where id=‘".$get_id."‘";
 8         //建立一个SqlHelper.class.php对象
 9         $sqlhelper=new SqlHelper("localhost","root","5a6f38","empmanage");
10         $res=$sqlhelper->dql($sql);
11         $row=mysql_fetch_assoc($res);
12         mysql_free_result($res);
13         mysql_close($sqlhelper->conn);
14         if($row)
15         {
16             $password=$row[‘password‘];
17             if(md5($get_password)==$password)
18             {
19                 return 1;
20             }
21             return 0;
22         }
23         return 0;
24     }
25     public function getName($id)
26     {
27         $sqlhelper=new SqlHelper("localhost","root","5a6f38","empmanage");
28         $sql="select name from admin where id=‘".$id."‘";
29         $res=$sqlhelper->dql($sql);
30         $row=mysql_fetch_assoc($res);
31         if($row)
32         {
33             mysql_free_result($res);
34             mysql_close($sqlhelper->conn);
35             return $row[‘name‘];
36         }
37         die("查无此人!");
38     }
39 }
40 ?>

checkCode.php

 1 <?php
 2     //首先定义一个空字符串
 3     $checkCode="";
 4     //随机生成四个数并拼接起来
 5     for($i=1;$i<=4;$i++)
 6     {
 7         $checkCode.=rand(0,9);
 8     }
 9     session_start();
10     $_SESSION[‘checkCode‘]=$checkCode;
11     //开始绘制验证码
12
13     //1.生成画布
14     $im=imagecreatetruecolor(45,25);
15     //2.随机生成一个颜色
16     $color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
17     //$color=imagecolorallocate($im,255,0,0);
18
19     //3.绘制干扰线
20     for($i=1;$i<=20;$i++)
21     {
22         imageline($im,0,rand(0,24),44,rand(0,24),imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)));
23     }
24     //4.绘制字符串
25     imagestring($im,5,3,3,$checkCode,$color);
26     header("content-type: image/png");
27     imagepng($im);
28
29     //4.销毁图片
30     imagedestroy($im);
31 ?>

common.php

 1 <?php
 2 /**
 3  * 这个方法专门用于用户判断
 4  */
 5 function checkUser()
 6 {
 7     session_start();
 8     if(empty($_SESSION[‘name‘]))
 9     {
10         header("Location:login.php?error=请先登录在进行其他操作!");
11         exit();
12     }
13 }
14 /**
15  * 这个类中专门存放公共的方法,如取cookie等行为
16  */
17 function getUserName()
18 {
19     if(!empty($_COOKIE[‘name‘]))
20     {
21         return $_COOKIE[‘name‘];
22     }
23     else
24     {
25         return "";
26     }
27 }
28 function getPassword()
29 {
30     if(!empty($_COOKIE[‘password‘]))
31     {
32         return $_COOKIE[‘password‘];
33     }
34     else
35     {
36         return "";
37     }
38 }
39 function getLastTime()
40 {
41     date_default_timezone_set("Asia/Chongqing");
42     if(empty($_COOKIE[‘lasttime‘]))
43     {
44         setCookie("lasttime",date("Y年m月d日 H时m分s秒"),Time()+14*24*3600);
45         echo  "您是第一次登陆本系统!";
46     }
47     else
48     {
49         setCookie("lasttime",date("Y年m月d日 H时m分s秒"),Time()+14*24*3600);
50         echo "您上一次的登录时间是:".$_COOKIE[‘lasttime‘];
51     }
52 }
53 ?>

Emp.class.php

 1 <?php
 2 class Emp
 3 {
 4     private $id;
 5     private $name;
 6     private $grade;
 7     private $email;
 8     private $salary;
 9     public function setid($id)
10     {
11         $this->id=$id;
12     }
13     public function getid()
14     {
15         return $this->id;
16     }
17     public function setname($name)
18     {
19         $this->name=$name;
20     }
21     public function getname()
22     {
23         return $this->name;
24     }
25     public function setgrade($grade)
26     {
27         $this->grade=$grade;
28     }
29     public function getgrade()
30     {
31         return $this->grade;
32     }
33     public function setemail($email)
34     {
35         $this->email=$email;
36     }
37     public function getemail()
38     {
39         return $this->email;
40     }
41     public function setsalary($salary)
42     {
43         $this->salary=$salary;
44     }
45     public function getsalary()
46     {
47         return $this->salary;
48     }
49 }
50 ?>

empList.php

  1 <?php
  2 /**
  3  * 进行用户验证
  4  */
  5 require_once ‘common.php‘;
  6 checkUser();
  7 ?>
  8 <html>
  9 <head>
 10 <script type="text/javascript">
 11 function confirmDel(val)
 12 {
 13     return window.confirm("确认删除"+val+"号雇员吗?");
 14 }
 15 </script>
 16 </head>
 17 <body>
 18 <?php
 19     require_once ‘EmpService.class.php‘;
 20     //本子功能主要知识点:分页管理功能,可以使用死去活来法逐步实现。
 21     echo "<center>";
 22     echo "<h1>用户管理</h1><br/>";
 23     $empservice=new EmpService();
 24     //获取emp表的记录数。
 25     $rowCount=$empservice->getRowCount();
 26     //设置pageNow的默认值。
 27     $pageNow=1;
 28     //获取pageNow的值
 29     if($_GET[‘pageNow‘])
 30     {
 31         $pageNow=$_GET[‘pageNow‘];
 32     }
 33     //设置$pageSize的默认值,可以由用户自定义
 34     $pageSize=7;
 35     //计算pageCount的值
 36     $pageCount=ceil($rowCount/$pageSize);
 37     if($pageNow<=0)
 38     {
 39         echo "访问出现上溢,自动跳转到第一页!<br/><br/>";
 40         $pageNow=1;
 41     }
 42     else if($pageNow>=($pageCount+1))
 43     {
 44         echo "访问出现下溢,自动跳转到最后一页!<br/><br/>";
 45         $pageNow=$pageCount;
 46     }
 47     $arr_res=$empservice->getResource($pageNow, $pageSize);
 48     $rows=mysql_affected_rows($empservice->getSqlHelper()->conn);
 49     $cols=mysql_num_fields($empservice->getResource_unArray());
 50
 51
 52     echo "<table bgcolor=black rows=".($rows+1)." cols=".($cols+2)." cellspacing=1px cellpadding=10px>";
 53     echo "<tr bgcolor=white>";
 54     for($i=0;$i<$cols;$i++)
 55     {
 56         echo "<th>".mysql_field_name($empservice->getResource_unArray(),$i)."</th>";
 57     }
 58     echo "<th>修改用户信息</th>";
 59     echo "<th>删除用户</th>";
 60     echo "</tr>";
 61     for($i=0;$i<count($arr_res);$i++)
 62     {
 63         $row=$arr_res[$i];
 64         echo "<tr bgcolor=white>";
 65         foreach($row as $key=>$value)
 66         {
 67             echo "<td align=center>".$value."</td>";
 68         }
 69         echo "<td align=center><a href=‘updateEmpUI.php?id={$row[‘id‘]}‘>修改</a></td>";
 70         echo "<td align=center><a onclick=
 71         ‘return confirmDel({$row[‘id‘]})‘
 72         href=‘empProcess.php?type=del&id={$row[‘id‘]}
 73         &pageNow={$pageNow}‘>删除</a></td>";
 74         echo "</tr>";
 75     }
 76     echo "</table><br/>";
 77     $empservice->closeAll();
 78     echo "<a href=‘empList.php?pageNow=1‘>首页</a>&nbsp;&nbsp;&nbsp;";
 79     if($pageNow>=2)
 80     {
 81         echo "<a href=‘empList.php?pageNow=".($pageNow-1)."‘>上一页</a>&nbsp;&nbsp;&nbsp;";
 82     }
 83     else
 84     {
 85         echo "上一页&nbsp;&nbsp;&nbsp;";
 86     }
 87     //一下将会实现6页6页的整体翻页。
 88      $index=floor(($pageNow-1)/6)*6+1;
 89      $start=$index;
 90      echo "<a href=‘empList.php?pageNow=".($start-1)."‘><<</a>&nbsp;&nbsp;&nbsp;";
 91     for(;$start<=5+$index;$start++)
 92     {
 93         if($start<=$pageCount)
 94         {
 95             echo "<a href=‘empList.php?pageNow=".$start."‘>[".$start."]";
 96             echo "</a>"."&nbsp;&nbsp;&nbsp;";
 97         }
 98         else
 99         {
100             $start--;
101             break;
102         }
103     }
104     /**
105      * 如果有6条记录,现在是第2条,那么2/6=0.33,floor(0.33)==0,
106      * ...什么时候打印?求打印条件。
107      */
108     echo "...&nbsp;&nbsp;&nbsp;";
109     echo "[当前页{$pageNow}/共{$pageCount}页]&nbsp;&nbsp;&nbsp;";
110     echo "<a href=‘empList.php?pageNow=".$start."‘>>></a>&nbsp;&nbsp;&nbsp;";
111     if($pageNow<=($pageCount-1))
112     {
113         echo "<a href=‘empList.php?pageNow=".($pageNow+1)."‘>后一页</a>&nbsp;&nbsp;&nbsp;";
114     }
115     else
116     {
117         echo "后一页&nbsp;&nbsp;&nbsp;";
118     }
119     echo "<a href=‘empList.php?pageNow=".$pageCount."‘>尾页</a>";
120     echo "<br/>";
121 ?>
122 <br/>
123 <form action="empList.php" method="get">
124 请输入跳转页:<input type="text" name="pageNow"/>
125 <input type="submit" value="GO"/>
126 </form>
127
128 </body>
129 </html>

empMain.php

 1 <?php
 2
 3 /**
 4  * 进行用户验证
 5  */
 6 require_once ‘common.php‘;
 7 checkUser();
 8
 9
10     $admin_name=$_GET[‘name‘];
11     require_once ‘common.php‘;
12     getLastTime();
13     echo "<center>";
14     if(!$admin_name)
15     {
16         die("没有收到用户名数据!");
17     }
18     else
19     {
20         echo "<font size=‘7‘>".$admin_name.",欢迎您登陆本系统!<br/><br/>";
21         echo "</font>";
22     }
23
24     echo "<font size=‘5‘>";
25     echo "<a href=‘empList.php‘>管理用户</a><br/><br/>";
26     echo "<a href=‘addEmp.php‘>添加用户</a></a><br/><br/>";
27     echo "<a href=‘#‘>等待添加</a></a><br/><br/>";
28     echo "<a href=‘#‘>等待添加</a></a><br/><br/>";
29     echo "</font size=‘5‘>";
30     echo "</center>";
31 ?>

empProcess.php

 1 <?php
 2 /**
 3  * 进行用户验证
 4  */
 5 require_once ‘common.php‘;
 6 checkUser();
 7
 8 require_once ‘EmpService.class.php‘;
 9
10 $type=$_REQUEST[‘type‘];
11 if($type=="del")
12 {
13     $id=$_GET[‘id‘];
14     $pageNow=$_GET[‘pageNow‘];
15     if(empty($id))
16     {
17         die("没有收到雇员的ID号数据!");
18     }
19     //创建一个EmpService的对象
20     $empservice=new EmpService();
21     $flag=$empservice->deleteUser($id);
22     if($flag==1)
23     {
24         header("Location:success.php?id={$id}&pageNow={$pageNow}");
25         exit();
26     }
27     header("Location:error.php?id={$id}");
28     exit();
29 }
30 else
31     if($type=="add")
32     {
33         $empService=new EmpService();
34         $name=$_POST[‘name‘];
35         $grade=$_POST[‘grade‘];
36         $email=$_POST[‘email‘];
37         $salary=$_POST[‘salary‘];
38         $result=$empService->addEmp($name, $grade, $email, $salary);
39         if($result!=1)
40         {
41             die("添加用户失败!".mysql_errno());
42         }
43         else
44         {
45             echo "添加成功!<a href=‘addEmp.php‘>返回上一级</a>";
46         }
47     }
48 else
49     if($type=="update")
50     {
51         $empService=new EmpService();
52         $id=$_POST[‘id‘];
53         $name=$_POST[‘name‘];
54         $grade=$_POST[‘grade‘];
55         $email=$_POST[‘email‘];
56         $salary=$_POST[‘salary‘];
57         $result=$empService->updateEmp($name, $grade, $email, $salary,$id);
58         if($result!=1)
59         {
60             die("更新用户信息失败!".mysql_errno());
61         }
62         else
63         {
64             echo "更新用户信息成功!<a href=‘updateEmpUI.php?id={$id}‘>返回上一级</a>";
65         }
66     }
67
68 ?>

EmpService.class.php

  1 <?php
  2 require_once ‘SqlHelper.class.php‘;
  3 require_once ‘Emp.class.php‘;
  4 class EmpService
  5 {
  6     private $sqlhelper;
  7     private $res;
  8     public function __construct()
  9     {
 10         $this->sqlhelper=new SqlHelper("localhost","root","5a6f38", "empmanage");
 11     }
 12     /**
 13      * 这个方法专门用于更新雇员信息
 14      */
 15     public function updateEmp($name, $grade, $email, $salary,$id)
 16     {
 17         $sql="update emp set name=‘{$name}‘,grade={$grade},
 18         email=‘{$email}‘,salary={$salary} where id={$id}";
 19         $result=$this->sqlhelper->dml($sql);
 20         mysql_close($this->sqlhelper->conn);
 21         return $result;
 22     }
 23     /**
 24      * 这个方法通过ID号取得雇员的其他信息
 25      */
 26     public function getEmpById($id)
 27     {
 28         $emp=new Emp();
 29         $sql="select * from emp where id={$id}";
 30         $this->res=$this->sqlhelper->dql($sql);
 31         if(!$this->res)
 32         {
 33             die("查询失败!".mysql_errno());
 34         }
 35         if(($row=mysql_fetch_assoc($this->res))!=null)
 36         {
 37             $emp->setid($row[‘id‘]);
 38             $emp->setemail($row[‘email‘]);
 39             $emp->setgrade($row[‘grade‘]);
 40             $emp->setname($row[‘name‘]);
 41             $emp->setsalary($row[‘salary‘]);
 42         }
 43         $this->closeAll();
 44         return $emp;
 45     }
 46     /**
 47      * 这个方法是专门针对添加用户的方法
 48      */
 49     public function addEmp($name,$grade,$email,$salary)
 50     {
 51         $sql="insert into emp(name,grade,email,salary) values (‘{$name}‘,{$grade},‘{$email}‘,{$salary})";
 52         //$this->sqlhelper=new SqlHelper("localhost", "root","5a6f38", "empmanage");
 53         $result=$this->sqlhelper->dml($sql);
 54         mysql_close($this->sqlhelper->conn);
 55         return $result;
 56     }
 57     public function getRowCount()
 58     {
 59         $sql="select count(*) from emp";
 60         $res=$this->sqlhelper->dql($sql);
 61         if(!$res)
 62         {
 63             die("查询失败!");
 64         }
 65         $row=mysql_fetch_row($res);
 66         $rowCount=$row[0];
 67         return $rowCount;
 68     }
 69     public function getResource($pageNow,$pageSize)
 70     {
 71         $x=($pageNow-1)*$pageSize;
 72         $sql="select * from emp order by id limit ".$x.",".$pageSize;
 73         $res=mysql_query($sql,$this->sqlhelper->conn);
 74         $this->res=$res;
 75         if(!$res)
 76         {
 77             die("获取资源失败!");
 78         }
 79         $arr=Array();//效仿discuz的写法,这是05版本的改进之处。
 80         $top=-1;
 81         while(($row=mysql_fetch_assoc($res))!=null)
 82         {
 83             $arr[++$top]=$row;
 84         }
 85         return $arr;
 86     }
 87     public function getSqlHelper()
 88     {
 89         return $this->sqlhelper;
 90     }
 91     public function getResource_unArray()
 92     {
 93         return $this->res;
 94     }
 95     public function closeAll()
 96     {
 97         mysql_free_result($this->res);
 98         mysql_close($this->sqlhelper->conn);
 99     }
100     public function closeConn()
101     {
102         mysql_close($this->sqlhelper->conn);
103     }
104     public function deleteUser(&$id)
105     {
106         $sql="delete from emp where id={$id}";
107         return $this->sqlhelper->dml($sql);
108     }
109 }
110 ?>

error.php

1 <?php
2 echo "删除失败!";
3 ?>

loginProcess.php

 1 <?php
 2 // print_r($_COOKIE);
 3 require_once ‘AdminService.class.php‘;
 4 $admin_id=$_POST[‘admin_id‘];
 5 $admin_password=$_POST[‘admin_password‘];
 6 $userinf=$_POST[‘userinf‘];//记录用户是否要求浏览器记住用户密码
 7 $checkCode=$_POST[‘checkCode‘];
 8 session_start();
 9
10 if($checkCode!=$_SESSION[‘checkCode‘])
11 {
12     header("Location:login.php?error=验证码输入错误,请重新输入!");
13     exit();
14 }
15 if(empty($userinf))//用户不允许记住用户名和密码
16 {
17 //     echo "用户不允许记住账号密码<br/>";
18     //查看以前是否有cookie记录,如果有,则删除全部
19     if(!empty($_COOKIE[‘name‘]))
20     {
21 //         echo "将会删除cookie<br/>";
22         setCookie("name",$admin_id,Time()-14*24*3600);
23         setCookie("password",$admin_password,Time()-14*24*3600);
24         setCookie("lasttime",date("Y年m月d日 H时m分s秒"),Time()-14*24*3600);
25     }
26 }
27 else //用户允许记住用户名和密码
28 {
29 //     echo "用户允许浏览器记住账号密码<br/>";
30     //先查看cookie中是否有以前的记录,如果有,显示上一次登录的时间;反之
31     //提示是首次登陆,并保存住账号密码
32     if(empty($_COOKIE[‘name‘]))//
33     {
34 //         echo "将会创建cookie<br/>";
35         setCookie("name",$admin_id,Time()+14*24*3600);
36         setCookie("password",$admin_password,Time()+14*24*3600);
37     }
38 }
39 // exit();
40
41 $adminservice=new AdminService();
42 $flag=$adminservice->checkAdmin($admin_id, $admin_password);
43 if($flag==1)
44 {
45     session_start();
46     /**
47         将数据保存到session中,进行用户登录校验
48      */
49     $_SESSION[‘name‘]=$admin_id;
50     header("Location:empMain.php?name=".$adminservice->getName($admin_id));
51     exit();
52 }
53 else
54 {
55     header("Location:login.php?error=用户名或者密码错误,请重新输入!");
56     exit();
57 }
58 ?>

SqlHelper.class.php

 1 <?php
 2 class SqlHelper
 3 {
 4     public $host;
 5     public $user;
 6     public $psw;
 7     public $dbname;
 8     public $conn;
 9     public function __construct($host,$user,$psw,$dbname)
10     {
11         $this->host=$host;
12         $this->user=$user;
13         $this->psw=$psw;
14         $this->dbname=$dbname;
15         $this->conn=mysql_connect($this->host,$this->user,$this->psw);
16         if(!$this->conn)
17         {
18             die("数据库连接失败!".mysql_error());
19         }
20         mysql_select_db($this->dbname);
21         mysql_query("set names utf8",$this->conn);
22     }
23     public function dql($sql)
24     {
25         $res=mysql_query($sql,$this->conn);
26         if(!$res)
27         {
28             die("查询失败!".mysql_error());
29         }
30         else return $res;
31     }
32     public function dml($sql)
33     {
34         $res=mysql_query($sql,$this->conn);
35         if(!$res)
36         {
37             die("数据更新失败!".mysql_error());
38         }
39         else if(mysql_affected_rows($this->conn))
40         {
41             return 1;
42         }
43         else
44         {
45             return 2;
46         }
47     }
48 }
49 ?>

success.php

1 <?php
2     $pageNow=$_GET[‘pageNow‘];
3     echo "删除成功!";
4     echo "<a href=‘empList.php?pageNow={$pageNow}‘>返回上一级</a>";
5 ?>

updateEmpUI.php

 1 <?php
 2 /**
 3  * 进行用户验证
 4  */
 5 require_once ‘common.php‘;
 6 checkUser();
 7 ?>
 8 <html>
 9 <!--这个是专门针对更新用户信息设计的界面-->
10 <head>
11 <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
12 </head>
13 <body>
14 <?php
15 require_once ‘Emp.class.php‘;
16 require_once ‘EmpService.class.php‘;
17 $id=$_GET[‘id‘];
18 //获得其他参数。
19 $empService=new EmpService();
20 //获取Emp对象。
21 $emp=$empService->getEmpById($id);
22 ?>
23 <center><h1><font size=‘30px‘>这里是更新用户信息的界面</font></h1></center>
24 <br/>
25 <br/>
26 <form action="empProcess.php" method="post">
27 <table align="center" cellpadding="10px">
28 <tr align="center">
29 <td>您的ID是:</td>
30 <td><input readonly="readonly" type="text" name="id" value="<?php echo $emp->getid()?>"/></td>
31 </tr>
32
33 <tr align="center">
34 <td>请输入您的新姓名:</td>
35 <td><input type="text" name="name" value="<?php echo $emp->getname()?>"/></td>
36 </tr>
37
38 <tr align="center">
39 <td>请输入您的新等级:</td>
40 <td><input type="text" name="grade" value="<?php echo $emp->getgrade()?>"/></td>
41 </tr>
42
43 <tr align="center">
44 <td>请输入您的新邮箱:</td>
45 <td><input type="text" name="email" value="<?php echo $emp->getemail()?>"/></td>
46 </tr>
47
48 <tr align="center">
49 <td>请输入您的新薪水:</td>
50 <td><input type="text" name="salary" value="<?php echo $emp->getsalary()?>"/></td>
51 </tr>
52 <input type="hidden" name="type" value="update"/>
53 <tr align="center">
54 <td><input type="submit" name="submit" value="单击提交" /></td>
55 <td><input type="reset" name="reset" value="重新输入" /></td>
56 </tr>
57 <tr>
58 <td colspan="2"><a href="empMain.php?name=admin">单击返回上一级</a></td>
59 </tr>
60 </table>
61 </form>
62 </body>
63 </html>

这个小项目还只是个半成品。仅仅完成了对雇员的增删改功能,查找功能还未实现。但是实现了cookie、session、验证码的小功能。特别是小项目是采用的mvc架构,这就大大增加了开发难度但是代码复用性大大提高了。

项目截图:

时间: 2024-10-19 23:54:49

【PHP小项目使用MVC架构】的相关文章

Java Web学习(33): 阶段小项目使用MVC模型实现购物车效果

项目概述 前面的时候我写过一个商品浏记录的小例子,这一次我们使用实现购物车效果.前面的例子是: http://blog.csdn.net/erlian1992/article/details/52047258.这一次在此基础上来采用的是MVC三层模型实现 (JSP+Servlet+dao)来实现这个小项目. 三层架构: JSP视图层 Servlet控制层 dao模型层 DB数据库层 编码实现: 首先先来数据库脚本items.sql: /* Navicat MySQL Data Transfer

Servlet+oracle MVC 架构 搭建简易购物车web项目---数据库设计

Servlet+oracle MVC 架构 搭建简易购物车web项目 主要实现以下功能: 1.用户登录,从数据库验证用户的合法性. 2.购物大厅,从数据库取出商品进行展示. 3.在购物大厅可以点击购买商品,跳到我的购物车界面. 4.在我的购物车页面,可以更新商品数量,并能够计算商品总价.可以删除商品.可以提交订单. 5.提交订单以后,进入订单页面,展示个人信息和订单信息  6.再次提交订单以后,给用户发送电子邮件,提醒用户. 数据库设计 用户表 create table users ( id n

spring+springmvc+hibernate架构、maven分模块开发例子小项目案例

maven分模块开发例子小项目案例 spring+springmvc+hibernate架构 以用户管理做测试,分dao,sevices,web层,分模块开发测试!因时间关系,只测查询成功,其他的准备在ext上做个完整的案例来的,可惜最近时间很紧, 高级部分也没做测试,比如建私服,其他常用插件测试之类的,等用时间了我做个完整ext前端和maven 完整的例子出来,在分享吧! 不过目前这些撑握了,在项目中做开发是没有问题的,其他高级部分是架构师所做的. 之前我有的资源都加上了积分,有些博友向我要,

spring+springmvc+hibernate架构、maven分模块开发样例小项目案例

maven分模块开发样例小项目案例 spring+springmvc+hibernate架构 以用户管理做測试,分dao,sevices,web层,分模块开发測试!因时间关系.仅仅測查询成功.其它的准备在ext上做个完整的案例来的,可惜近期时间非常紧. 高级部分也没做測试,比方建私服,其它经常使用插件測试之类的,等用时间了我做个完整ext前端和maven 完整的样例出来,在分享吧. 只是眼下这些撑握了.在项目中做开发是没有问题的,其它高级部分是架构师所做的. 之前我有的资源都加上了积分,有些博友

php学习之bbs论坛项目-web架构和MVC思想

--显示和逻辑相分离-- 将功能强制地分成两个部分:1.负责显示的HTML部分 2.负责业务逻辑处理的PHP代码 HTML主要负责展示的部分,其中可变的数据是用动态脚本PHP来填充. 这样的混编文件一般叫作模板文件.因为用户不能直接请求模板文件,所以要通过apache分布式配置文件来隐藏它们. 在apache主配置文件中(httpd-vhosts.conf),配置权限时再多添加这样一行代码: Allowoverride all 接着,再在模板文件中创建.htaccess文件,写入如下代码即可.

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

随机获得MySQL数据库中100条数据方法 驾照题库项目 MVC架构 biz业务层的实现类 根据考试类型rand或order通过dao数据访问层接口得到数据库中100或全部数据

package com.swift.jztk.biz; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Random; import com.google.gson.Gson; import com.swift.jztk.bean.Result

IOS-小项目(饿了么 网络部分 简单实现)

在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是实打实的网络连接.看一下文件架构. 这一采用的是MVC设计模式,虽然文件很少,但是也可以看. 下面开始正式介绍小项目的实现. 首先介绍Model的实现,很简单,实现模型即可, Shop.h // // Shop.h // CX-小项目(饿了么 网络部分 简单实现) // // Created by

MVC架构模式

MVC架构模式 参考: MVC框架_百度百科https://baike.baidu.com/item/MVC%E6%A1%86%E6%9E%B6/9241230?fr=aladdin MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被