11.3.1管理用户登录程序设计
11.3 管理主界面与登录程序设计
本实例可以分为前台系统和后台系统两个部分。前台系统为普通注册用户提供使用系统的页面,而后台系统则为管理用户提供对系统进行管理和维护的页面。
所有管理部分的文件都保存在admin目录下。
11.3.1 管理用户登录程序设计
网站管理页面只有管理用户才能进入,因此在这些管理页面中都包含了IsAdmin.php,以进行身份认证。代码如下:
<?PHP include("isAdmin.php"); ?>
isAdmin.php也保存在admin目录下,它的功能是从Session变量中读取注册用户信息,并判断当前用户是否已登录且用户类型为管理员(UserType 等于 1),如果不是,则跳转到登录界面(Login.php),要求用户登录;如果是,则不执行任何操作,直接进入包含它的网页。
IsAdmin.php的代码如下:
<?
session_start();
if ($_SESSION["UserType"]!=1)
{
header("Location: "."login.php");
}
?>
登录界面(Login.php)也保存在admin目录下,其中定义表单的代码如下:
<form name="myform" action="putSession.php" method="Post">
......
</form>
当数据提交后,将执行putSession.php,代码如下:
<?
session_start();
//取输入的用户名和密码以及用户类别
$UID=$_POST["loginname"];
$PSWD=$_POST["password"];
include("..\Class\Users.php");
$objUser = new Users();
$objUser->UserId=$UID;
$objUser->UserPwd=$PSWD;
//判断用户名密码是否正确
if($objUser->CheckUser())
{
//把用户名和密码放入Session
$objUser->GetUsersInfo($UID);
$_SESSION["UserName"]=$UID;
$_SESSION["UserPwd"]=$PSWD;
$_SESSION["UserType"]=$objUser->UserType;
header("Location: "."index.php");
}
else
{
header("Location: "."login.php");
}
?>
程序调用Users 类的CheckUser()函数,判断用户身份验证是否成功。如果通过身份验证,则程序把用户信息保存在Sesstion变量中,然后把网页转向到admin\index.php中;否则将页面转向login.php。

为了在系统运行过程中掌握当前登录用户的信息,通常需要把用户信息保存在Session变量中。
管理员登录页面如图11-2所示。

图11-2 管理员登录页面
11.3.2 设计管理主界面
本实例的管理主界面为admin\Index.php,它的功能是显示二手交易市场的管理链接、公告等信息。AdminIndex.php的界面如图11-3所示。

图11-3 admin\index.php的运行界面
在AdminIndex.php中,使用了框架将网页分成左右两个部分,其定义代码如下:
<frameset framespacing="1" border="1" bordercolor= #333399 frameborder="yes">
<frameset cols="150,*">
<frame name="contents" target="main" src="left.php" scrolling="auto"frameborder=0>
<frame name="main" src="BulletinList.php" scrolling="auto" noresize frameborder=0>
</frameset>
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
在admin\Index.php中,包含了两个文件Left.php和BulletinList.php,分别用来处理左侧和右侧的显示内容。
11.3.3 设计admin\Left.php
Left.php文件用于显示管理界面的左侧部分,它定义了一组管理链接,如表11-9所示。
表11-9 Left.php中的管理链接

本章将在稍后介绍这些功能的具体实现方法。
在Left.php中,将显示所有商品类别的超链接,以便对各类别的商品进行管理。代码如下:
<?PHP
include("..\Class\GoodsType.php");
$objType = new GoodsType();
$results = $objType->GetGoodsTypelist();
while($row = $results->fetch_row()) {
?>
<tr>
<td width="100%" height="6"> <font color="#0000FF">
<a href="GoodsList.php?type=<?PHP echo($row[0]); ?>" target="main"><?PHP echo($row[1]); ?></a></font></td>
</tr>
<?PHP
}
?>
程序首先定义一个GoodsType对象objType,再通过调用objType.GetGoodsTypelist()函数获取所有商品类别信息到结果集$results中,最后使用while循环语句将所有商品类别信息显示在网页中。可以看到,显示指定商品信息的脚本为GoodsList.php。
上一篇:11.2.1目录结构
下一篇:11.4.1设计公告管理页面