售后培训页面的建立方法
讲课,不可避免的学生向你要ppt和各种资料,用U盘copy?病毒很危险,怎么办呢?这个东西又不能随意分发。最近新学了php,讲课的时候灵光一闪,想到了解决思路。
建立一个页面,学院输入姓名后转到下载页面,然后再用文件记录到访日志,学员姓名用遍历数组的方法确认。这个主意导致我讲课突然中断,和各位学员面面相觑。
最近我总有这样的毛病,正讲课呢,脑子里就突然出现了另外一件事情的解决办法,大概因为这节课讲的东西我太过熟悉了吧。
言归正传,说说这个培训售后服务是如何写好的,这也算是我学习php的一个学习作品吧。您可以先到www.wangyutang.com/sh/体验下先。
首先,建立登陆界面,很简单,就是一个带form的php文档,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <html>
<title>王玉堂培训售后服务网</title>
<body>
<center>
<h1>王玉堂培训"售后服务网"</h1>
<p>
<h3>输入姓名后,就可以下载教师在课堂上的所有课件及资料</h3>
<br>姓名必须和通讯录上的一致方可下载<br>
<form action="sh.php" method="post">
<table>
<tr>
<td>学员姓名</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td><input type="submit" value="登陆"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</center>
<p>
<center>Copyright © Wang Yutang 2007, 2008, 2009, 2010<center>
</body> |
登陆后的post的提交页面叫做sh.php,这个页面首先用数组存入学员的姓名,然后使用for循环遍历数组,当提交的学院姓名与数组中的某个学员姓名一致的时候,给出下载地址,并打开日志文件aa.txt讲登陆的学员姓名记录下来。下载地址本来计划使用header跳转的,可最近没时间研究。以后再说。如果数组遍历后,没有一致的学员姓名,则给出提示。这个本来用一个if语句来写,但是我觉得if语句太长了怕以后看不懂,就在一致的时候给一个变量赋值,然后再判断这个变量是否得到了该值,没有得到,则给出出错提示。
看代码,我已经给出了详细的解释。我之所以没用数据库,是因为用到数据库更为麻烦,还不如如此。我之所以用for循环来进行数组遍历,只是我习惯用for循环,不晓得和foreach之间的效率差别,这不是我考虑的问题了,我只是要实现我的目的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | <?php $name = $_POST["name"]; define("GREETING","很高兴与您共同度过5天时间,祝您工作顺利,万事如意,有事情可以随时拨打售后电话或者发送email。地址是:"); define("email","king@gmail.com"); define("mobilephone","137XXXXXXXX"); //访问日志,访问文件是1log.txt,2log.txt是输入错误学员姓名的记录。 $filename = '1log.txt'; $filenameall = '2log.txt'; //2010.6.26日班名单,共计19人。 $a = array("张三","李四"); $num = count($a); if ($name) { for ($i=0;$i<$num;$i++) { if ($a[$i]==$name) { ?> <center> <center><h1>中国XXXX<br>国家XXX<br>XXXX售后服务网</h1><br>2010年6月26日-2010年6月30日</center> <?php echo "<h1>" . "欢迎:" . $name . "</h1" . "<p>"; echo "<center>" . constant("GREETING") . "<p>" . constant("email") . "<br>" . constant("mobilephone") . "</center>"; echo "下载地址“ //用判断是否输入正确学员姓名, $good = "1"; //写入日志文件,查看都谁下载了课件。 if (is_writable($filename)) { if (!$handle = fopen($filename, 'a')) { //echo "无法打开日志文件 ($filename)"; exit; } // Write $somecontent to our opened file. if (fwrite($handle, "$name\n") === FALSE) { //echo "无法写入日志 ($filename)"; exit; } //echo "成功将 ($name) 写入日志文件 ($filename)"; fclose($handle); exit; } else { exit; //echo "无法记录到日志文件: $filename ,日志文件不可写!"; } ?> </center> <?php } } } if ($good <> "1") { echo "您输入了错误的姓名,或者您并非我班学员!"; echo "<a href=\"index.htm\">重新登录</a>"; echo "<br>"; // 把输入错误的也记录到日志文件。 if (is_writable($filenameall)) { if (!$handle = fopen($filenameall, 'a')) { echo "无法打开日志文件 ($filenameall)"; exit; } // Write $somecontent to our opened file. if (fwrite($handle, "$name\n") === FALSE) { echo "无法写入日志 ($filenameall)"; exit; } echo "成功将 ($name) 写入日志文件 ($filenameall)"; fclose($handle); exit; } else { exit; echo "无法记录到日志文件: $filename ,日志文件不可写!"; } } include("footer.php"); ?> |
简单吧,php真的很简单,至少上手比较容易。以后会改正下载方式,隐藏下载地址。这个程序总计花了我5个多小时的时间。前期调试wamp半天,后来调试cookie半天,本来想让用户反复登录,判断用户是否登录,如登录自动跳转,没太弄明白,而且要把登录页面也改成php的,为了节省时间,就没弄。以后把第二个培训班的名单也登陆上。
在记录趣事一件。前几天看荷兰和巴西的比赛,这是我世界杯开赛以来我看的第一场足球赛,虽然我是个十足的伪球迷,而且最近忙的一直很累,但是还是贪心的想看一场完整的世界杯比赛。这场球看得精彩,开场十分钟,巴西就用一个精准的直塞搞定荷兰一个球,我想,我不太相信荷兰不进球,罗比的脚法我还是蛮信任的,就这样看到半场打平,半场后我就有点迷迷糊糊,后来听见欢呼声又进了一个球,此时我已睡意沉沉,不知觉间进了梦乡,待我凌晨3点醒来,揉揉眼睛,奇迹出现了,场上居然变成了0:0,我当时的感觉那真是千头万绪,看了半天我没整明白这到底是怎么回事,难道不算了?这个世界好神奇,呵呵,当我有这种想法的时候,我看到了屏幕右上角的时间,又看到了对阵双方,我才想起来,都第二场了。呵呵。当时我真是懵(这个词我念了N年的糟了)了,想起我们神奇的国度,以为南非也和谐了。呵呵。现在想起来我都得儿呵呵笑一笑。
嗯,不抛弃,不放弃!
哈哈,你自己也开始折腾php了呀