#PHP#记一次网站项目

8 篇文章 0 订阅
7 篇文章 0 订阅

写这篇文章是为了记录总结一次网站网项目。废话不多说,本次项目是一个网站升级,原网站是一个普通的问卷调查网站,用户可以做在线测试,生成测试数据结果并且以excel下载导出。要升级的任务就是,可以使用户自己修改问卷题目,增加题目数量等等。


第一个要完成的任务就是使用户可以在线修改问卷题目。最开始的思路是用户点击某一行的时候,该行变成input类型,修改完毕之后可以点击按钮使其再次变为普通文字。网上有很多现成的例子,用到的方法基本都是通过改变class来改变其背景颜色隐藏按钮,看了许多代码之后我发现其实根本没有必要那么复杂,直接将所要修改的地方设为input类型就可以,再把边框去掉,这样以来,不点击就会跟普通行一样,一点击就知道是input行从而能进行修改了。


第二个要完成的任务是增加属性。因为在问卷中,有一种类型的题目是比较不同属性之间的大小,也就是概率论里面的C,每增加一种属性就要相应增加其与其它属性的比较,比较是用滑动条实现的。具体代码要做的就是实现能够自动生成HTML代码,而且该代码需要进行事件绑定。看起来好像很简单,但是却费了我好几天都没弄完,直到看到了一篇文章http://wange.im/javascript-addeventlistener-onclick.html,讲的就是javascript的事件绑定。这个时候我才意识到,不同的语言有其不同的特性,比如JavaScript的闭包就是其一大特点,因为之前接触website编程太少,查起资料来很难直中要害,所以说,虽然一个工程师可以快速学习和查找资料,但是要深入了解一门技术,还是得沉下心来研究其内部的结构。


第三个要完成的任务就是能够将在线生成的结果存在邮件附件中发送给指定用户。为了完成这个任务,我将整个过程分为几个部分,首先我得了解如何发送邮件,第二我得了解用javascript如何发送邮件。在查询第一步的时候我知道了SMTP等邮件协议,此刻我意识到要发送邮件必须一个邮件服务器才行,于是我开始查询各种免费的邮件服务器,研究如何与其通信。查阅了大量资料之后我才明白,用JavaScript是无法完成这个工作的,因为它是浏览器上面运行的脚本程序,访问权限上面有比较严格的限制,最后决定还是用php。php也没有那么简单,折腾之后发现需要安装环境才能在本地运行,于是安装LAMP套件。php弄好之后就开始研究邮件服务器的通信,阅读一个服务提供商的文档之后,尝试用php curl发送json包发送邮件成功,但是在发送附件的时候总是遇到错误,换了另个服务商,仍然没有办法发送,于是十分郁闷。后来想到也许可以用学校的服务器直接发送,结果发现很顺利,分分钟发送了一封带有附件的邮件。接下来的工作就是如何将生成的excel文件以附件形式发送,开始想的是通过JavaScript传给,后来发现php无法接收,无论是自动发送变量还是直接发送文件。后来才知道这个也是安全性的考虑,因为JavaScript的不安全,不可能使其自动发送某文件,而且因为JavaScript跟PHP是不同的语言,直接传变量是不可能的,所以后来使用了折中方案,让用户手动选择附件发送出去。最后终于解决了这个问题,也就是直接将原数据发送给PHP然后生成excel文件发送出去。


接下来要完成的工作就是实现客户能够自由修改问题,被调查者可以看到,之前只是在线修改,不能储存。


从中得到的体会有很多,首先就是深入了解一门技术的重要性,很多时候虽然看起来会用,但是内部却有很多东西不知道,也许某一天就会遇到类似的问题,第二,在解决问题的时候要事先想好具体怎么做,列出一个切实可行的计划,而且在分析一个过程的时候也应该使用流程图,这样可以使整个过程变的十分直观,发邮件的过程就是一个例子。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值