资源描述
广州大学学生实验报告
开课学院及实验室:计算机科学与工程实验室 2012年 6月 17日
学院
计算机科学与教育软件学院
年级/专业/班
网工092班
姓名
林子州
学号
0923010067
实验课程名称
Web应用技术
成绩
实验项目名称
Web站点设计
指导老师
樊志平
(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)
一、实验目的
通过自己建立一个网站,学会综合利用各种web应用技术
二、实验内容
自选主题设计并建立一个网站
三、实验原理
利用所学的web技术:静态HTML, CSS,JavaScript, JSP, JavaBean, Servlet等技术:
四、实验设备
Windows xp mysql apache php
五、实验要求
自选主题设计并建立一个网站
六、实验程序
本程序为一个图书管理系统:
显示所有图书:Allbook.php:
<?php
session_start();
require "conn.php";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title><?php echo $webname;?>_所有图书</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
require "userfun.inc";
require "top.php";
require "right.php";
if( isset($_GET['page']) )
{
$page = intval( $_GET['page'] );
}
else
{
$page = 1;
}
$ufun = new useros();
u
require "foot.php";
?>
</center>
</body>
</html>
查找图书serachbook.php
<?php
session_start();
require "conn.php";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title><?php echo $webname;?>_所有图书</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
require "top.php";
require "right.php";
require "searchbookframe.php";
require "foot.php";
?>
</center>
</body>
</html>
借阅图书 loan.php
<?php
session_start();
require "conn.php";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title><?php echo $webname;?></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
require "top.php";
require "right.php";
require "loanframe.php";
require "foot.php";
?>
</center>
</body>
</html>
归还图书giveback.php
<?php
session_start();
require "conn.php";
require "admin/adminfun.inc";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title><?php echo $webname;?></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
require "top.php";
require "right.php";
require "givebackframe.php";
require "foot.php" ;
?>
</center>
</body>
</html>
用户借阅信息:allloan.php
<?php
session_start();
require "conn.php";
require "userfun.inc";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title><?php echo $webname;?></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
require "top.php";
require "right.php";
$userid = $_SESSION['userid'];
$gbdate = date("Y-m-d");
if($userid == "")
{
echo "<div id='main'><div class='hr'><hr /></div><h2>请 先 登 录</h2></div>";
}
else
{
$ufun = new useros();
$ufun -> loanbook();
}
require "foot.php";
?>
</center>
</body>
</html>
登陆模块:
<?php
session_start();
session_register('admin');
require "conn.php";
require "userfun.inc";
require "top.php";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title><?php echo $webname;?>_<?php echo $orgname;?>_用户登录验证</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
//获取登录页面传递来的用户信息
$tuserid = $_POST['userid'];
$tpwd = $_POST['password'];
$ufun = new useros();
$ufun -> loginchk($tuserid,$tpwd,$user);
?>
</center>
</body>
</html>
<center>
<?php
require "foot.php";
?>
</center>
注销模块:
<?php
session_start();
require "conn.php";
require "userfun.inc";
require "top.php";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title><?php echo $myschool;?>_<?php echo $orgname;?>_用户注销登录</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<?php
//取得已经登录用户的信息
$tuserid = $_SESSION['userid'];
$ufun = new useros();
$ufun -> logout($tuserid);
?>
</div>
</center>
</body>
</html>
<center>
<?php
require "foot.php";
?>
</center>
所用函数功能inc文件:
<?php
class adminos
{
//管理员注销登录
function logout($tadmin)
{
//判断取得的用户信息是否为空
//如果为空显示错误信息
if($tadmin == "")
{
echo "<b>本站提示</b>";
echo "<hr>";
echo "你还没有进行登录,所以不能执行此操作,请先登录!";
echo "<br>";
echo "<a href='index.php' >我要登录</a>";
echo "<br>";
echo "<a href='../index.php' >返回首页</a>";
}
else
{
//如果用户信息不为空,注销当前用户
echo "<hr>";
echo "<b>注 销 用 户</b><br>";
echo "会员ID:[";
echo $tadmin;
$_SESSION['admin'] = "";
echo "]<br><b>操作结果:</b>注销登录成功!";
echo "<br>我要转到:";
echo "<a href='index.php'>重新登录</a><br>";
echo "<a href='../index.php'>返回首页</a>";
}
}
//管理员登录检查
function loginchk($tadmin,$tpwd,$admin)
{
$query = "select * from $admin where adminid = '$tadmin'";
//处理中文乱码
//mysql_query("set names gb2312");
$result = mysql_query($query);
$num = mysql_num_rows($result);
//判断是否存在当前会员
if($num>0)
{
$row = mysql_fetch_array($result);
$id = $row['id'];
$admin = $row['adminid'];
$pwd = $row['adminpwd'];
if ($pwd==$tpwd)
{
$_SESSION['admin'] = $admin;
echo "管理员登录成功!<hr><p>";
echo "登录管理员是:".$_SESSION['admin']."<p>";
echo "现在你可以<a href='index.php'>回到管理首页</a>";
echo "<br>或转到本站首页<a href='../index.php'>本站首页</a>";
}
else
{
echo "管理员登录失败!<hr><p>";
echo "管理员密码不正确!";
echo "<br><a href='index.php'>请重新登录</a>";
}
}
else
{
echo "管理员登录失败!<hr><p>";
echo "当前管理员不存在!";
echo "<br><a href='../index.php'>请不要尝试登录!</a>";
}
}
//添加新书
function addbook($tbookid,$tbookname,$tauthor,$tpublish,$tpdate,$tprice,$tamount,$tstate,$tmemo,$book)
{
if(($tbookid=="") or ($tbookname=="") or ($tauthor=="") or ($tpublish=="") or ($tpdate=="") or ($tprice=="") or ($tamount=="") or ($tstate=="") or ($tmemo==""))
{
echo "<script language=javascript>alert('带*号的选项必须填写全!');history.go(-1)</script>";
exit;
}
if(substr_count("$tbookid", " ")>0 or substr_count("$tbookid", " ")>0 )
{
echo "<script language=javascript>alert('图书编号不能有空格');history.go(-1)</script>";
exit;
}
if (!ereg("^[_a-z0-9A-Z-]",$tbookid))
{
echo "<script language=javascript>alert('图书编号的格式不对,只能是英文或者数字');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9-]",$tpdate))
{
echo "<script language=javascript>alert('出版日期只能用数字,中间加下画线表示');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9]",$tamount))
{
echo "<script language=javascript>alert('图书数量只能是数字');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9]",$tstate))
{
echo "<script language=javascript>alert('当前图书数量只能是数字');history.go(-1)</script>";
exit;
}
$sql="SELECT bookid FROM $book where bookid='$tbookid'";
$result=mysql_query($sql);
if($myrow=mysql_fetch_row($result))
{
echo "<script language=javascript>alert('此图书编号已经使用,请重新填写,或修改现有图书信息!');history.go(-1)</script>";
exit;
}
$query = "INSERT INTO $book(bookid,bookname,author,publish,pdate,price,amount,state,memo)"
."VALUES('$tbookid','$tbookname','$tauthor','$tpublish','$tpdate','$tprice',"
."'$tamount','$tstate','$tmemo')";
$result = mysql_query($query)
or die("插入出现错误: " . mysql_error());
$rowid = mysql_insert_id();
if ($rowid>0)
{
echo "新书入库成功!<hr><p>";
echo "新入库的新书是:".$tbookname."<p>";
echo "<br><a href='index.php'>继续添加</a>";
}
else
{
echo "新书入库失败!<hr><p>";
echo "新书:[".$tbookname."]";
echo "入库失败!";
echo "<br><a href='index.php'>重新添加</a>";
}
}
//查看所有图书
function allbook($page,$psize)
{
echo "<div id='main'>";
echo "<div class='hr'><hr /></div>";
echo "<div id='example'>";
// 建立数据库连接
require "conn.php";
// 获取当前页数
// 每页数量
$page_size = $psize;
// 获取总数据量
$sql = "select count(*) from $book";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$amount = $row[0];
//echo $amount;
// 记算总共有多少页
if($amount)
{
if( $amount < $page_size )
{
//如果总数据量小于$pagesize,那么只有一页
$page_count = 1;
}
//取总数据量除以每页数的余数
if( $amount % $page_size )
{
//如果有余数,则页数等于总数据量除以每页数的结果取整再加一
$page_count = (int)($amount / $page_size) + 1;
}
else
{
//如果没有余数,则页数等于总数据量除以每页数的结果
$page_count = $amount / $page_size;
}
}
else
{
$page_count = 0;
}
echo "<h2>所 有 图 书</h2>";
echo "<blockquote>";
echo "<p>管理员可以查查看、修改及删除下述图书记录:</p>";
echo "</blockquote>";
echo "<fieldset>";
echo "<ul>";
echo "<li>";
echo "<label for='lbookid'>图书编号-></label>";
echo "<label for='lbookid'>图书名称-></label>";
echo "<label for='lbookid'>图书数量-></label>";
echo "<label for='lbookid'>当前状态-></label>";
echo "<label for='lbookid'>图书修改-></label>";
echo "<label for='lbookid'>图书删除</label>";
echo "</li>";
echo "</ul>";
echo "<ol>";
// 获取数据,以二维数组格式返回结果
if( $amount )
{
$sql = "select * from $book order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
//echo $num;
for ($i=0;$i<$num;$i++)
{
$row = mysql_fetch_array($result);
$id = $row['id'];
$bookid = $row['bookid'];
$bookname = $row['bookname'];
$amount = $row['amount'];
$state = $row['state'];
echo "<li>";
echo "<label for='lbookid'>".$bookid."-></label>";
echo "<label for='lbookid'>".$bookname."-></label>";
echo "<label for='lbookid'>".$amount."-></label>";
echo "<label for='lbookid'>".$state."-></label>";
echo "<label for='lbookid'><a href=mdybook.php?id=".$id.">修改</a>-></label>";
echo "<label for='lbookid'><a href=delbookok.php?id=".$id."&&bookname=".$bookname.">删除</a></label>";
echo "</li>";
}
}
else
{
echo "没有记录";
}
echo "</ol>";
echo "</fieldset>";
// 翻页链接
$page_string = '';
if( $page == 1 )
{
$page_string .= '第一页|上一页|';
}
else
{
$page_string .= '<a href=?page=1>第一页</a>|<a href=?page='.($page-1).'>上一页</a>|';
}
if( ($page == $page_count) || ($page_count == 0) )
{
$page_string .= '下一页|尾页';
}
else
{
$page_string .= '<a href=?page='.($page+1).'>下一页</a>|<a href=?page='.$page_count.'>尾页</a>';
}
echo "<br>".$page_string;
echo "</div>";
echo "</div>";
echo "<div id='extra'></div>";
echo "</div>";
}
//修改图书信息
function mdybook($tid,$tbookid,$tbookname,$tauthor,$tpublish,$tpdate,$tprice,$tamount,$tstate,$tmemo,$book)
{
if(($tbookid=="") or ($tbookname=="") or ($tauthor=="") or ($tpublish=="") or ($tpdate=="") or ($tprice=="") or ($tamount=="") or ($tstate=="") or ($tmemo==""))
{
echo "<script language=javascript>alert('带*号的选项必须填写全!');history.go(-1)</script>";
exit;
}
if(substr_count("$tbookid", " ")>0 or substr_count("$tbookid", " ")>0 )
{
echo "<script language=javascript>alert('图书编号不能有空格');history.go(-1)</script>";
exit;
}
if (!ereg("^[_a-z0-9A-Z-]",$tbookid))
{
echo "<script language=javascript>alert('图书编号的格式不对,只能是英文或者数字');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9-]",$tpdate))
{
echo "<script language=javascript>alert('出版日期只能用数字,中间加下画线表示');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9]",$tamount))
{
echo "<script language=javascript>alert('图书数量只能是数字');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9]",$tstate))
{
echo "<script language=javascript>alert('当前图书数量只能是数字');history.go(-1)</script>";
exit;
}
$sql="SELECT * FROM $book where bookid='$tbookid' && id!='$tid'";
$result=mysql_query($sql);
if($myrow=mysql_fetch_row($result))
{
echo "<script language=javascript>alert('此图书编号已经使用,请重修改图书信息!');history.go(-1)</script>";
exit;
}
$query = "update $book set bookid='$tbookid',bookname='$tbookname',author='$tauthor',publish='$tpublish',"
."pdate='$tpdate',price='$tprice',amount='$tamount',state='$tstate',memo='$tmemo' where id='$tid'";
$result = mysql_query($query)
or die("修改出现错误: " . mysql_error());
$num = mysql_affected_rows();
if ($num>0)
{
echo "修改图书成功!<hr><p>";
echo "新修改的图书是:".$tbookname."<p>";
echo "<br><a href='allbook.php'>继续修改</a>";
}
else
{
echo "修改图书失败!<hr><p>";
echo "图书:[".$tbookname."]";
echo "修改失败!";
echo "<br><a href='allbook.php'>重新修改</a>";
}
}
//删除图书
function delbook($tid,$tbookname,$book)
{
$query = "DELETE FROM $book WHERE id = '$tid'";
//处理中文乱码
//mysql_query("set names gb2312");
$result = mysql_query($query);
$num = mysql_affected_rows();
//判断是否删除成功
if($num>0)
{
echo "图书删除成功!<hr><p>";
echo "删除的图书是:".$tbookname."<p>";
echo "<br>返回<a href='allbook.php'>进行其他操作</a>";
}
else
{
echo "图书删除失败!<hr><p>";
echo "当前图书不存在!";
echo "<br><a href='allbook.php'>进行其他操作!</a>";
}
}
//执行借阅操作
function addloan($tuserid,$tbookid,$tloandate,$tstate,$tmemo,$loan)
{
if(($tuserid=="") or ($tbookid=="") or ($tloandate=="") or ($tstate=="") )
{
echo "<script language=javascript>alert('带*号的选项必须填写全!');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9-]",$tloandate))
{
echo "<script language=javascript>alert('借阅日期只能用数字,中间加下画线表示');history.go(-1)</script>";
exit;
}
if (!ereg("^[0-9]",$tstate))
{
echo "<script language=javascript>alert('当前图书数量只能是数字');history.go(-1)</script>";
exit;
}
$query = "INSERT INTO $loan(userid,bookid,loandate,state,memo)"
."VALUES('$tuserid','$tbookid','$tloandate','$tstate','$tmemo')";
$result = mysql_query($query)
or die("插入出现错误: " . mysql_error());
$rowid = mysql_insert_id();
if ($rowid>0)
{
$query2 = "update book set state=amount-$tstate where bookid='$tbookid'";
mysql_query($query2 )
or die("更新出现错误: " . mysql_error());
展开阅读全文