1、广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室 2012年 6月 17日学院计算机科学与教育软件学院年级/专业/班网工092班姓名林子州学号0923010067实验课程名称Web应用技术成绩实验项目名称Web站点设计指导老师樊志平(*报告只能为文字和图片,老师评语将添加到此处,学生请勿作答*)一、实验目的通过自己建立一个网站,学会综合利用各种web应用技术二、实验内容自选主题设计并建立一个网站三、实验原理利用所学的web技术:静态HTML, CSS,JavaScript, JSP, JavaBean, Servlet等技术:四、实验设备Windows xp mysql apach
2、e php五、实验要求自选主题设计并建立一个网站六、实验程序本程序为一个图书管理系统:显示所有图书:Allbook.php: _所有图书查找图书serachbook.php _所有图书 借阅图书 loan.php 归还图书giveback.php用户借阅信息:allloan.php ?phprequire top.php;require right.php;$userid = $_SESSIONuserid;$gbdate = date(Y-m-d);if($userid = )echo 请 先 登 录;else$ufun = new useros();$ufun - loanbook();r
3、equire foot.php;?登陆模块:_用户登录验证 loginchk($tuserid,$tpwd,$user);?注销模块: _用户注销登录 logout($tuserid);? 所用函数功能inc文件:?phpclass adminos /管理员注销登录function logout($tadmin)/判断取得的用户信息是否为空/如果为空显示错误信息if($tadmin = ) echo 本站提示; echo ; echo 你还没有进行登录,所以不能执行此操作,请先登录!; echo ; echo 我要登录; echo ; echo 返回首页;else /如果用户信息不为空,注销当
4、前用户 echo ; echo 注 销 用 户; echo 会员ID:; echo $tadmin; $_SESSIONadmin = ; echo 操作结果:注销登录成功!; echo 我要转到:; echo 重新登录; echo 返回首页;/管理员登录检查function loginchk($tadmin,$tpwd,$admin)$query = select * from $admin where adminid = $tadmin;/处理中文乱码/mysql_query(set names gb2312);$result = mysql_query($query);$num = my
5、sql_num_rows($result);/判断是否存在当前会员if($num0) $row = mysql_fetch_array($result); $id = $rowid; $admin = $rowadminid; $pwd = $rowadminpwd; if ($pwd=$tpwd) $_SESSIONadmin = $admin; echo 管理员登录成功!; echo 登录管理员是:.$_SESSIONadmin.; echo 现在你可以回到管理首页; echo 或转到本站首页本站首页; else echo 管理员登录失败!; echo 管理员密码不正确!; echo 请重
6、新登录; else echo 管理员登录失败!; echo 当前管理员不存在!; echo 请不要尝试登录!;/添加新书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 al
7、ert(带号的选项必须填写全!);history.go(-1);exit;if(substr_count($tbookid, )0 or substr_count($tbookid, )0 )echo alert(图书编号不能有空格);history.go(-1);exit;if (!ereg(_a-z0-9A-Z-,$tbookid)echo alert(图书编号的格式不对,只能是英文或者数字);history.go(-1);exit;if (!ereg(0-9-,$tpdate)echo alert(出版日期只能用数字,中间加下画线表示);history.go(-1);exit;if (!
8、ereg(0-9,$tamount)echo alert(图书数量只能是数字);history.go(-1);exit;if (!ereg(0-9,$tstate)echo alert(当前图书数量只能是数字);history.go(-1);exit;$sql=SELECT bookid FROM $book where bookid=$tbookid;$result=mysql_query($sql);if($myrow=mysql_fetch_row($result)echo alert(此图书编号已经使用,请重新填写,或修改现有图书信息!);history.go(-1);exit;$qu
9、ery = 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 ($rowid0) echo 新书入库成功!; echo 新入库的新书
10、是:.$tbookname.; echo 继续添加; else echo 新书入库失败!; echo 新书:.$tbookname.; echo 入库失败!; echo 重新添加;/查看所有图书function allbook($page,$psize)echo ;echo ;echo ;/ 建立数据库连接require conn.php;/ 获取当前页数/ 每页数量$page_size = $psize; / 获取总数据量$sql = select count(*) from $book;$result = mysql_query($sql);$row = mysql_fetch_row($
11、result);$amount = $row0; /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
12、/ $page_size; else $page_count = 0;echo 所 有 图 书;echo ;echo 管理员可以查查看、修改及删除下述图书记录:;echo ;echo ;echo ;echo ;echo 图书编号-;echo 图书名称-;echo 图书数量-;echo 当前状态-;echo 图书修改-;echo 图书删除;echo ;echo ;echo ;/ 获取数据,以二维数组格式返回结果if( $amount ) $sql = select * from $book order by id desc limit . ($page-1)*$page_size ., $pag
13、e_size; $result = mysql_query($sql); $num = mysql_num_rows($result); /echo $num;for ($i=0;$i$num;$i+) $row = mysql_fetch_array($result); $id = $rowid; $bookid = $rowbookid; $bookname = $rowbookname; $amount = $rowamount; $state = $rowstate;echo ;echo .$bookid.-;echo .$bookname.-;echo .$amount.-;echo
14、 .$state.-;echo 修改-;echo 删除;echo ; else echo 没有记录;echo ;echo ;/ 翻页链接$page_string = ;if( $page = 1 ) $page_string .= 第一页|上一页|;else $page_string .= 第一页|上一页|; if( ($page = $page_count) | ($page_count = 0) ) $page_string .= 下一页|尾页;else $page_string .= 下一页|尾页;echo .$page_string; echo ;echo ;echo ;echo ;/
15、修改图书信息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 alert(带号的选项必须填写全!);history.go(-1);exit;if(substr_co
16、unt($tbookid, )0 or substr_count($tbookid, )0 )echo alert(图书编号不能有空格);history.go(-1);exit;if (!ereg(_a-z0-9A-Z-,$tbookid)echo alert(图书编号的格式不对,只能是英文或者数字);history.go(-1);exit;if (!ereg(0-9-,$tpdate)echo alert(出版日期只能用数字,中间加下画线表示);history.go(-1);exit;if (!ereg(0-9,$tamount)echo alert(图书数量只能是数字);history.g
17、o(-1);exit;if (!ereg(0-9,$tstate)echo alert(当前图书数量只能是数字);history.go(-1);exit;$sql=SELECT * FROM $book where bookid=$tbookid & id!=$tid;$result=mysql_query($sql);if($myrow=mysql_fetch_row($result)echo alert(此图书编号已经使用,请重修改图书信息!);history.go(-1);exit;$query = update $book set bookid=$tbookid,bookname=$t
18、bookname,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 ($num0) echo 修改图书成功!; echo 新修改的图书是:.$tbookname.; echo 继续修改; else echo 修改图书失败!;
19、echo 图书:.$tbookname.; echo 修改失败!; echo 重新修改;/删除图书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($num0) echo 图书删除成功!; echo 删除的图书是:.$tbookname.; echo 返回进行其他操作
20、; else echo 图书删除失败!; echo 当前图书不存在!; echo 进行其他操作!; /执行借阅操作function addloan($tuserid,$tbookid,$tloandate,$tstate,$tmemo,$loan)if($tuserid=) or ($tbookid=) or ($tloandate=) or ($tstate=) )echo alert(带号的选项必须填写全!);history.go(-1);exit;if (!ereg(0-9-,$tloandate)echo alert(借阅日期只能用数字,中间加下画线表示);history.go(-1)
21、;exit;if (!ereg(0-9,$tstate)echo alert(当前图书数量只能是数字);history.go(-1);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 ($rowid0) $query2 = update book set state=amount-$tstate where bookid=$tbookid;mysql_query($query2 )or die(更新出现错误: . mysql_error();