PHP技术在评教系统中的应用——郑美怡
我院的评教系统中所使用的脚本语言是PHP(Personal Home Page), 它是从一个CGI程序发展成为现在的脚本语言,是一种用于创建动态Web页面的服务器脚本语言。它有着其他开发工具所不具备的优点即真正跨平台性和良好的扩展性。下面分别从两个方面阐述它在评教系统中的实现。
1.核心编码
检查登录界面的用户信息是否为空(检查评教项目是否为空与此类似):
function check()
{ if(form1.sno.value=="")
// 如果学号为空,则输出"对不起,学号不能为空"
{alert("对不起,学号不能为空");
return false;}
var radios = form1.sex;
var tFlag = false; //设置标志位
for(var i = 0; i < radios.length; i++)//检查单选按钮组是否被选中
{ if(radios[i].checked)
{ tFlag = true; break; } } //如果选中给标志为赋值为真
if(tFlag == false)!
//如果标志位为假,则说明没有选择性别,则会输出“对不起,性别不能为空!”
{ alert('对不起,性别不能为空!');
return false; }
if(form1.department.value=="NULL")
//如果所在系部为空,则输出"对不起,所在系部不能为空"
{alert("对不起,所在系部不能为空");
return false;}}
核对用户信息
$sno=$_GET["sno"]; //从登录页面传送过来的号
$sex=$_GET["sex"];//从登录页面传送过来的性别
$department=$_GET["department"];//从登录页面传送过来的所在系部
$str0=mysql_query("select * from w where sno='$sno' and sex='$sex' and department='$department'");//在数据库中查找
$num3=mysql_num_rows($str0);// 把查找到的信息条数赋值给变量
if($num3==0)//如果为0,说明数据库中无此人,出现提示信息
{ echo "";
echo"";
//返回重新选择
对评教结果进行排名
function types8($big_department,$type)
{ $tt=mysql_query("select pj4 from ck8 where bm='$big_department' and bm1='$type' ");
$t=mysql_result($tt,0); 提取数据
$str0=mysql_query("select pj4 from ck8 ");
$num=mysql_num_rows($str0);
$j=0;$k=1; //开始初始化为第1名
while($j<=$num-1) //依次与数据表中的每个数据相比较
{$t1=mysql_result($str0,$j);
if($t<$t1) $k++; //比其它数据小,名次就往后加一
$j++; }
echo"第 $k 名";}
2.系统关键技术的实现
页面间的参数传递
在本系统中,许多页面要操作的数据都是从数据库或者其他页面得到的。用表单来传递参数是php中最常用的方法,如本系统中的A-01.php文件中有这样一段,代码如下:
从上面的程序中可以清楚地看到,在表单的声明语句中说明了执行表单的动作页面为jian.php,而要执行传递的动作为post。程序在表单中声明了一个input类型的文本输入框,用来接收用户直接输入的数据,并为它起了名"sno"。在最后两行定义了两个input类型按钮:确定和取消,这是两个内置的按钮,其中确定按钮的执行动作就是"submit",也就是说,当点击了确定按钮后文本框中的内容会传递到服务器端,并把消息马上传递到执行表单的网页,在这里是jian.php本身;而取消按钮则是把输入文本框中的内容重置,恢复原来的状态。这些input类型的交互控件,通过执行页面的接受机制就较好的完成了参数之间的传递。
利用php技术中的链接传递参数,在本系统中,当点击一个教师信息时,在IE浏览器底端的状态栏中会显示出http://127.0.0.1/wen/del.php?sno=7018的链接,对于后半部分,当点击这个链接后,它会调用del.php页面,并向这个页面传递sno参数,值为“7018”。在接收页面中,只需要利用GET方法,如$t=$_GET[“sno”]即可获得传递过来的参数。
2. 越权检查
在本系统中采用了标记来验证用户是否越权操作,首先从用户登录的页面发送一个标记set到下一个页面,然后在下一个页面中用一个以下程序接收此标记,这样就可以避免用户不登录而直接输入url地址进入此系统进行不恰当的操作。其接收的语句为:
$set=0;$set=$_GET["set"];
if(set==0)
echo ""; ?>
3.在评教页面上同时高效的显示用户信息和所评教部门的信息
因为 PHP 产生的动态页面,每次用户不论请求的结果是否一样都需要重新计算,同时,PHP 每次都会编译一次脚本。并且在程序开发中,获取信息的方式主要是查询数据库,在大量的并发访问页面时,这样的超负荷运转对于网站来说肯定会降低使用效率,为了解决这个问题,就必须使用Smarty提供的页面缓存功能来实现相应的缓存功能。
因此每次访问页面的时候,都会先检测相应的缓存是否存在,如果不存在,就连接数据库,得到数据,完成模板变量的赋值,显示页面,同时生成缓存文件,这样下次访问的时候缓存文件就发挥作用了,而不会再执行if块的数据查询语句了。
综上所述,我院的评教系统通过使用PHP技术,使其更富交互性、个性化、合作化和智能化,我相信通过不断实践逐步增强系统的各项功能,使系统能更加方便师生使用,能为学院创造一个优胜劣汰、争优创先的良性竞争环境。
参考文献
[1]W.Jason Gilmore.PHP与MySQL程序设计.人民邮电出版社,2007
[2]四维科技,曹衍龙,赵斯思.PHP网络编程技术与实例.北京:人民邮电出版社,2006
[3]陈 佳.信息系统开发方法教程.北京:清华大学出版社 ,2004
[4]王 石,杨英娜.精通PHP+MySQL应用开发.北京:人民邮电出版社,2006
博锐管理在线版权声明:
本文仅代表作者个人观点,本网登载此文出于传递更多信息之目的,并不意味着博锐管理在线赞同其观点或证实其描述。博锐管理在线文库频道收录的文章均已获得版权人书面授权;非经博锐书面授权或作者本人授权,搜索引擎外的任何个人、网站或传统媒体不得以任何名义进行转载。
您是本文第1个评论人
快来抢
沙发
!
6
6
6
1
【】【】
相关文章:
·对当前国内外水平井钻井技术的研究与分析
·花旗:技术驱动业务创新
·与奥运擦出技术的火花
·“计划内核”难撑科学创新大厦
·容声冰箱技术升级助跑节能新政
·流程管理是组织改善技术而非个人技能
·在信息时代生存 童年已逝,成年未满
·关于自动化抄表技术的相关问题研究