微信公众号教程(15)公司通讯录开发 下

公司通讯录开发

 原文:http://www.cnblogs.com/imaker/p/6251201.html

三、公司通讯录后台开发

 

我设计的公司通讯录是先人工输入到后台,然后前台进行绑定、查询、更新等操作,今天先讲后台录入这块,主要包括部门设置和员工管理两个页面,所有的开发都在sae的代码管理中进行,所以请进入SAE的应用里的代码管理。

 

在开发前我们先要上传一个文件“base-class.php”,这个文件主要是用来做传递参数的过滤以及格式验证,比如是否邮箱、手机等是否正确输入,文件请回复“微信代码”下载!

 

3.1、部门设置

 

第一个要开发的模块是部门设置,一般的公司架构都是多层级的,比如总经理-》部门-》小组,因此我们的部门设置里也要具备多层级的功能。

 

首先第一个页面部门录入页面,我们新建一个文件,命名为class_add.php,主要实现功能为添加和修改部门名称及上下级分类。代码如下:

 

后台页面是需要在浏览器里打开操作的,因此需要有HTML代码部分,一般正规开发都会将数据操作、逻辑操作、网页模板分离,我这里图方便就混排了。

 

这个页面实现的是两个功能:一是新增部门,二是修改部门,两个是放在同一个页面里的,那么如何判断是新增操作还是修改操作呢?根据url里是否有传递过来部门的序号即ID号,如果有就是修改,没有就是新增,具体后面会有解释。

 

码解释如下:

 

第1-6行代码是html语言,头部格式都是固定的,其中第4行是告诉浏览器这个网页是utf-8编码的,第5行是网页的名字,会显示在浏览器顶部,当然一般还有两个重要参数,一个是Keyword,就是关键字,还有一个是Description,是网页说明,这两个都是做SEO时用的,这里不需要就没写了。

 

PS:HTML 语言通常被称为 HTML 标签 (HTML tag),HTML 标签是由尖括号包围的关键词,比如 ,通常是成对出现的,比如 ,标签对中的第一个标签是开始标签,第二个标签是结束标签。

 

第7行是html页面的主体的开始标签,浏览器会将与之间的内容显示在浏览器页面。

 

第9行是开始是php的程序处理。

 

第10行是加载前面让大家上传的base-class.php,后面会调用里面的函数。

 

第13行是新建一个数据库操作类,由于是在sae环境下开发,所以我直接用了sae提供的mysql类,这样就免去数据库链接什么乱七八糟的了。当然原始提供的函数并不丰富,也不适合代码迁移,一般是需要去封装一层的,我这里先偷个懒吧,同时也方便大家学习。

 

第16行是获取通过URL传递的参数class_id,即部门的序号。这里有个intval函数是将变量转化成整数,如果class_id值为空则intval(class_id)=0;如果class_id值为1则intval(class_id)=1;如果如果class_id值为abc12则intval(class_id)=0,这里的作用是将转换数据格式同时防止注入。

 

PS:程序中数据传递主要通过两种方式获取GET和POST,前者是获取URL的参数值,后者是获取表单传递的数据,前者安全性低效率高适合传输一些小数据,后者安全性高效率低适合传输一些大数据。

 

第19行是获取表单提交的参数action的值,用来判断是否提交了表单。

 

第20、21行是用来过滤操作变量action的值,由于action是字符串,所以得用字符串过滤规则,其中un_script_code是去除js代码,un_html是去除html代码。

 

第24行判断class_id是否有值,如果有值即非0则表示修改序号为class_id的部门信息;

 

第26行根据class_id从数据库中提取详细数据,提取单条记录我们使用sae的mysql类下的getLine函数,我们前面已经新建了一个mysql类命名为$mysql,所以这里就是$mysql->getLine,后面括号里就是一句sql查询语句,意思是

select(选择)

*(所有字段)

from(从)

class(名字为class的表里)

where(符合条件为)

class_id=$class_id(class_id字段的值等于$class_id的数据),获取到的数据是一个数组,赋值给$class_value。

 

第27行为判断是否获取到class_id=$class_id的记录,!$class_value表示该值为空没有获取到,那么就执行一个警告。

 

第29行输出一个JS语句,这个语句里

你可能感兴趣的:(微信公众号教程(15)公司通讯录开发 下)