第一个动态网站的心得--细数建站跳过的坑!

本文记录了作者第一次建立动态网站的经历,从最初的误解到最终完成交付,分享了使用不同技术和平台时遇到的问题及解决方案。

第一个动态网站的心得–细数建站跳过的坑!

这是我第一次接到外快任务,也是第一次做动态网站!是为我的熟人–我们学校的数学社做一个新社员线上报名系统,由于需要在开学的百团大战前交付使用,从找到我给需求,到完成、测试可使用,一共不到10天时间,所以时间紧,过程也是异常波折,不过还好最后完成了。还是数学社的大家信任我,给我这次机会去各种试错,各种跳坑再爬起来!不过这次做了以后,发现自己远没有原来自认为的那么厉害,嗯给了我一个很好的警示,自己还是弱鸡还需要各种学习各种实践,自己掌握的还只是皮毛。好了,接下来数一数我第一次建站跳过的坑。先说明,我最后网站的实现是html+css+js,数据库用的access,用asp连接网页和数据库。

1.刚接到任务的头两天,以为动态和静态一样简单

刚接到任务时,由于只写过一个静态的页面,嗯我的个人主页,放在了Github上,所以我以为写这种需要读写数据的网站也和写静态页面一样简单,只要html类代码就好了,然后挂在Github之类的公共网站上就可以用了,果然too young。。。

头两天写了个html+css+javascript的网页,把各种需求都写了,页面还有点漂亮,找了好几个好看的js库呢。写完以后突然想起页面是写了,但数据怎么存呢?这个时候才想起要做数据库,赶紧在网上查了查,发现github等版本管理网站只提供静态页面的服务(为什么我之前没发现?!肯定文档看得不认真!),像报名网站这种动态的需要连接数据库的网站,挂到github根本不能用。。。于是开始有点慌了,不过这时通过数学社学妹了解到数学社本身自己有网站,用的discuz论坛网站,可以写网页,有数据库。感觉像抓到救命稻草一样,立马转向用discuz开发了!毕竟discuz官网还是有给技术文档和论坛模版的,看起来也不是很难的样子。

2.转战discuz,连续掉进两个坑。。

花了半天时间看各种信息、文档,发现discuz平台用的是php+Mysql,等于我之前html白写了,我还尝试着挣扎一下,在网上查到论坛帖子可以内嵌html,所以想尝试一下,但是做了以后在才反应过来,这样放的还是一个静态网站,根本接触不到后端的数据库!无奈只好放弃。但是我看数学社网站的原作者学长都写的差不多了,如果我要写,其实也只要写一个php页面和调用数据库,不用写整个网站论坛,所以决心改用php。由于我完全没有接触过php,只好在网上下了个模版,但是完全没学过,修改的很不顺,很多东西只能用浏览器的“检查元素”一个个点着看才能看懂是什么(笑)。

好不容易写好了这个php页面,要放进discuz后台了,发现不对劲,学妹给的管理员账号是能够进行各种权限操作,但是就是不能对网站的核心–php页面进行增删修改的动作,仔细看才发现discuz的后台就是封装好的,直接把功能抽象成小白都能使用的后台,不是真正的后端(我以前完全没了解过后端、服务器方面的知识)!我有点慌了,赶紧去找原作者学长,和他交流了以后,发现这个网站是没用独立的ftp的!如果需要上传,要把页面和数据库本地测试好以后,发给学长由学长代为上传。这样在线测试网站太麻烦了!而且如果有什么需要修改的也要麻烦学长,学长网站做好但不负责维护,他更不会把他的账号和密码给我,他的意思是我再租一个服务器,然后他把整个转到新服务器上,就算把网站交给我维护了。但是我也只是帮写个动态啊哪会维护论坛网站,所以我放弃了,只能另找办法。这时,我才真正重视起来,觉得应该好好研究下网站发布和使用了。在网上看了各种信息,最后选择用阿里云主机!自己重新做网站和数据库!

3.使用云主机的得意与失意

跳了那么多坑,我不敢再大意。仔细研究了阿里云主机windows版的配置:语言支持:asp,.net,html等,数据库支持:access,SQL server。我选择了asp+access的组合,毕竟这个网站的报名信息大概也就几千条,access比较熟悉好做,SQL server功能强大,但是没接触过,时间太紧不敢尝试。查了一下,发现asp是个好东西!asp可以把脚本语言、html、组件和web数据库访问功能结合在一起!同时还在网上发现了Dreamweaver,更是个好东西!DW不仅可以对网页可视化编程设计,在实时视图上可以看到网页更改效果,还支持通过设置站点,直接连接数据库,我的另一篇blog就有关于dw连接数据库的方法。而且网上也有很多关于云主机asp+access的教程,还是蛮有帮助的,所以重做asp网站还是比较快的(原来写的那版html舍弃了,原来为了好看调用了很多js模版,有的模版的可读性不太友好…)。

因为一路做的都很小心,所以网站做的也很顺利。做完后用云主机赠送的域名进行在线测试,网站显示完整!数据库插入信息成功!这个时候真的超级高兴,急忙把域名发给学妹让她们测。结果学妹们都发来了无法访问的截图,显示因为网站没有进行备案,只允许开发者登号进入!我赶紧进行备案,但是这时发现问题有点严重了!按照阿里备案的流程,申请需要至少四五天。在线申请过审后,需要一两天等阿里寄幕布及把申请单发到河南,收到幕布后拍照上传,再等一两天过审,再等网管局确认核对,才算过。但是这时距离交付使用只剩3天,根本来不及!我在网上四处寻找解决办法,最后决定改用云服务器ecs,把网站搬过去!只是可惜了我一个月的云主机钱,108呢!(事后和别人交流得知,其实更好的办法是:一边备案,一边申请一个境外域名,这样跳出去再跳回来,就能避开国内域名备案期间不能开网站的问题了)

4.云服务器的顺利和虚惊一场

有了云主机的前车之鉴,我在购买云服务器前还特地打客服再三确认,境外服务器确实可以现做现用,才付款,而且更小心的选择了按时付费,万一不行包月就亏大了,而且报名网站也就才用三四天就可以撤了。云服务器其实就是多个云主机的集合,虽然一开始用需要对整个服务器进行配置,不过需要安装的计算机文件按照网上教程选,一步步做下来,繁琐是繁琐,但好歹顺利。终于把网站搬过来了。用自己的电脑在线测试一下,OK!再用自己手机的safari浏览器测试,OK!这一刻超级感动!于是用微信把链接发给学妹,让学妹测试。学妹们说现在都能打开网站看的首页了,但是填了所有数据提交以后,全都返回提交失败!我急忙打开微信尝试,发现同样的问题!明明填了数据也提交了,跳转的页面显示数据没有填,为空!但是我用自己的电脑和别人的电脑打开链接,信息却可以提交成功!赶紧在网上找原因,感觉可能是由于用了access,windows系统本身自带了access可以使用,但安卓系统和ios系统并没有access,可能是数据库在手机上不能使用,而造成的电脑上可以提交,手机却提交失败!于是,赶紧换了数据库,改用sqlite,因为sqlite既轻量又能在多平台上使用!用sqlite重新做了一个数据库,上线测试,在电脑上成功了,但是在微信上还是不行!怎么调都不成功。。。

在都快要崩溃放弃时,我在把access的数据导入sqlite时发现,之前我们在微信内测试提交的数据其实都有提交到access数据库上!我顿时萌生了一个猜想:是不是可能微信把提交成功的返回信息给拦截了!我立马用手机浏览器safari打开,信息提交成功!为了证明不是个例,我下载了各种浏览器:百度浏览器、QQ浏览器、UC浏览器,还用安卓手机自带的ie浏览器测试,都可以成功提交!我再把数据库改回access,照样能提交。至此,真正原因终于找到了!并不是因为access在手机上不能使用(对于app制作才是),使用者都是对服务器进行访问,access在服务器上,又没有调用手机的数据库,所以不是access的错。真正的错误来自于微信!我自己仔细想了一下,以及问了老师和朋友以后,判断原因大概在以下几点中:

  1. 因为我租的是境外ip,微信为了安全,在访问网站之前会询问是否访问,不只访问首页时会,页面跳转时也会再问一次,可能就是这个询问导致了数据提交了,但是提交成功的信息在页面跳转时因为询问而被删除了。这样导致了跳转后的页面显示提交不成功,但实际我服务器的数据库已经能看到提交的数据了。

  2. 因为ip是阿里云的,是否有可能是背后的…竞争关系,导致微信会对页面附带的信息进行拦截。额…

  3. 有可能微信的浏览器功能并不健全,比较微信不是浏览器,平时能打开链接查看网页就不错了,可能并没有处理网页附带信息的模块,导致数据提交了,但是页面附带的判断提交是否成功的代码运行不了,导致跳转的页面识别成提交失败。

前两条我也不能确认是不是这个原因,因为我的境内域名还不能用,测试不了,就不清楚到底是不是真的原因。。。(写完这篇blog后,尝试了下用云主机的ftp账号登还在备份的境内域名,然后在微信里测试,发现没有出现询问是否进入不安全网址的提示,而且结果也显示数据提交成功了!这样就说明猜想3不对,而这个境内域名也是阿里云的,猜想2也不对,原因应该可能就是猜想1了!)anyway,最后网站终于在deadline前顺利交付使用,只要注意不用微信填就可以了。

总结:这次经历通过不断的跳坑、试错、找各种解决办法、爬出坑再跳另一个坑(…)积累了很多经验,所以才有了这篇心得,我觉得要是不把我对这些坑的感受和感悟写下来,真是对不起我跳的坑,对不起前两天在坑里苦苦挣扎的自己。。。anyway,现在写完交付了一身轻~不过这次时间太短,很多功能做的都很匆忙,网站有的地方还看的出做的很生涩,而且每次跳坑以后试错都不敢尝试太耗时间的方式,导致有很多好的东西没有去用(比如mysql我没有真正去写和使用,因为php用的别人模版;再如sqlite数据库的加密到现在对我来说还是个黑盒…)。很多现学的知识、代码写法也因为时间问题囫囵吞枣,来不及消化。所以,再也不敢自大到没完全了解需求、调查好制作要求和背景知识,就随便接下一个时间紧的任务了!谨记!用“永远是知识和技术的初学者”的心态前进!

建站有帮助的网址:

用ASP实现一个真正的注册页面
ASP用户登录注册代码
ASP网站如何测试
用DreamWeaver作ASP时如何进行系统注册
菜鸟学DreamWeaver做ASP
怎样用access和dreamweaver做动态网站
解决IIS7中出现An error occurred on the server when processing the URL错误提示的方法
用ASP连接读写ACCESS数据库实例
阿里云ECS建站(1.1)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值