php我的菜鸟入门经历
年底了,本来打算提前一周请假回家的,领导也批了,但是临时又有了任务,需要在年前搭一个演示系统,于是被扣下了。。
需要做一个多机通信的系统,我这边的任务大概就是需要管理员用户能对数据库内容进行编辑,并且通过服务器中转程序与客户用户程序通信。总共也没多少工作量,和几个开发人员简单的商讨了一下,确定了大体框架,说好都用C/S架构直接写就OK。最近写C/S socket通信之类的都有点烦了,于是我说,我这个模块用B/S吧~
我公司就从来没做过WEB。。也没这方面的技术积累,他们都担心我是否能短期做完,我说没问题,边学边做吧。其实我也完全没接触过一行WEB编程……
果然,我们2天就把整个演示系统的框架搭起来,并且联调通过了。(其实根本用不了两天,很多小地方琢磨了许久……),相对于C++来说。。PHP某些地方用的还真是爽。
一些简单的PHP用途就不说了,说几个KEY POINT:
1. 开发环境的服务器架设。
开发的时候当然不能直接在服务器上搞,自己配个环境吧。
于是我就把经典的LAMP改成WAMP。
由于对LINUX不是很熟……短期不太好上手,于是还是用WINDOWS的系统,然后配合Apache(本来打算用IIS,因为实际服务器就是IIS,后来发现XP装不上IIS 6.0……汗,也懒得弄WIN NT了,所以就弄了个APACHE) + MySQL(这个也是第一次用,不过还是很简单的,什么图形界面我就没装了,直接命令行。) + PHP。
然后试了一下跑了个WORDPRESS,没问题,OK,开始干活。
2.IDE
看了一下,eclipse配起来真麻烦。。。于是乎。。老土的我就直接用的UE编码。。直接在浏览器中调试。。
3.PHP服务器端与应用程序通信
应用程序用C/C++写的,最终采用的是 WINDOWS的命名管道通信。这个通信我们调了好久……最后终于调通了,这个我会在之后专门写一篇文章介绍。
4.防表单重提交
在提交表单的时候用户如果反复刷新页面,可能会造成多次提交,为了解决这个问题,网上有许多讨论。
看了一下一些一般的方法,我本人最推崇令牌转交方案。
基本思路如下:
在页面初始化的时候生成一个随机数,作为该页面的令牌,将该令牌分别以两种方式提交:表单POST和SESSION。
然后在接收页面收到这两者,进行校验,如果表单POST和SESSION的数据相同,则进行处理。
//生成页面令牌,防止重复提交表单
$pagecode = mt_rand(0,10000000);
$_SESSION['code'] = $pagecode;
...
//插入到表单
<input
相关文档:
用 PHP 控制浏览器缓存是非常容易的,手册上也相关的说明,由于很多初学者没有把手册看完,所以还是会有很多关于这个问题的疑问,故在此专门发一篇文章,同时对相关的语法做了详细的说明,方便新手查阅。
要解决这一问题,可以通过 PHP 中的 header() 函数,发送特定的缓存控制原始 HTTP 标头,具体代码如下:
Exampl ......
互联网的今天,AJAX已经不是什么陌生的词汇了。说起AJAX,可能会立即想起因RSS而兴起的XML。XML的解析,恐怕已经不是什么难题了,特别是PHP5,大量的XML解析器的涌现,如最轻量级的SimpleXML。不过对于AJAX来说,XML的解析更倾向于前台Javascript的支持度。我想所有解析过XML的人,都会因树和节点而头大。不可否认,XML是很 ......
* 摘要:CentOS LAMP作为服务器,不安装不需要的组件,所以在选择组件的时候,不要选web服务器,因为我们后面要手动编译安装。CentOS LAMP系统约定RPM包和源码包存放位置
* 标签:CentOS LAMP
*
Oracle帮您准确洞察各个物流 ......
拖了两天,今晚终于有点时间来写下篇了。可是,对着电脑,却有点不知道从何说起。或许,就照着ZEND FRAMEWORK来说吧。当然,我会把握要点,记得这篇文章是以zend framework为例来阐述我对面向对象方式编程的认识,而不是一篇zend framework的入门手册,并且,这也不会是一个面向对象的入门教程,而是我对面向对象的理解。
......