PHP微信公众开发笔记(六)

PHP微信公众开发笔记系列
日期:2014.9.4

今天主要是完善了搜索,加入了管理员模块,优化了身份验证,将学生信息管理封装为了一个类(整这个真是好累呀,主要是数据库操作那里语法老是出问题,一直是各种小问题)

感受:
PHP开发没有断点、不能及时打印log真是好累呀(我是用sublime写的,然后直接微信公众号调试,累屎我了),错误信息经常不能及时发觉、或者说有些问题能通过断点排除掉了没能够排除。但是也说明了,我写代码还是太马虎了啊。

2014.9.10整理笔记:
写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记。

在笔记五中我提到了,将公众平台上需要实现的一些功能按类型进行了分类处理:菜单、数据库都抽离出来了。这样做的好处就是在今后我做功能调整或者新增功能不会影响现有的功能,利于开发维护。
在笔记四中提到了在SAE上我搭建了一个云端数据库,并做了一个简单的数据检索功能(在菜单-查询菜单中回复姓名,或者学号便能得到对应的相关信息),在同学的建议下,需要快捷查找信息,因此在这里实现了一个我称之为快捷检索的功能:用户回复姓名+电话、姓名+老家、姓名+地址便可以得到对应的相关信息;这个功能的实现也是建立在对数据库的检索和关键词监测的基础之上的。

一、完善搜索

在这里为了维护方便,封装了一个学生信息管理的类,也就是对之前提到的数据库管理进行一个包装,因为我当时是想到了后期可能会有更多的数据库需求,后期的开发维护需求会更高;因此现阶段数据库处理的相关文件有:

1、student_info_sql.class.php 也就是对mysql_sae.func.php的一层包装:

1)在mysql_sae.func.php中提供对数据库操作的语句,函数接受相关的参数<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"/program/UploadPic/2014-9/201492512818624.png" alt="\">

2)然后我在student_info_sql.class.php的使用过程中,传递对应的参数过去就可

而且这样一层包装,就可以保证我可以自由控制需要显示的信息,即我显示学生信息就再这里控制显示,当我需要弄一个关键词之类的数据表,那么我就只需要新建一个对应的php文件,然后在该文件中控制格式就可以了;

在这里提一下上上图中出现的sae_log()函数,这个函数也是查找网上的资料得到的一个打印log而包装出来的:

我这样包装的目的在于,假如某天我不需要打印log了,直接注释掉这里就可以了。
包装的这个student数据库管理类也是提供诸如检索、添加等的操作。这里也没什么需要额外笔记的。

2、然后就是提到的优化数据检索了,也就是根据同学提出的需求---能快捷检索到信息,这里的关键点就是关键词捕获了,这里便是使用到了php中对字符串相关处理函数的使用:
strstr()、str_replace() 我主要是使用到了这两个;第一个函数用来判断给定字符串中某个特定字符是否出现,第二个函数用来做字符替换。

在用户发送消息过来的时候,我这样做了处理:

对这三个关键词进行处理,如果用户发送过来的消息有这三个关键词,然后用str_replace,将关键词替换为空,就得到了姓名,那么就会有相应的响应操作。上图中出现的check_userinfo是我用来做用户身份验证的;menu_Distribution_Center即我之前提到的整理菜单功能而封装的一个函数,菜单分发。在独立封装的基础之上,我只需要捕获关键词,然后调用已实现的查询菜单的相关功能便很快的就实现了这个功能。功能实现上很简单,当时遇到的问题就主要是诸如php语法问题、数据库语法问题,各种坑,也体现了我这个人有的时候马大哈,写代码的时候太马虎,还有就是php毕竟没有系统的学过,直接是边写代码边学习的,所以难免会碰到各种问题。

二、添加管理员模块
因为有的时候没有用电脑,而此时又需要操作如数据库信息更新之类的,该怎么办?我就想到了可以实现一个管理员功能,在验证身份的条件下,可以通过发送特定指令而实现相应的功能。我实现的具体思路是,封装成一个类,一个统一的入口,然后身份验证。因此我新建了一个称之为admin_sys.class.php的文件,封装成了一个类,有了统一的入口之后,假如我之后有新的需求,那么我也只需要在这个类里面添加就可以了,不会影响到别的系统功能:

1、一个统一的入口:

2、在这里实现的验证功能和之前实现的用户身份验证类似,也是使用到了$_SESSION进行信息保存:

先判断是否验证了管理员身份,验证了之后就进入到具体的操作环节,具体的操作环境也是根据相对应的指令进行操作的。这里也就不提了,实现了这个管理员功能是挺便捷的,我可以很方便的更新用户信息、添加用户信息等。

时间: 2024-10-29 21:58:19

PHP微信公众开发笔记(六)的相关文章

PHP微信公众开发笔记(七)

PHP微信公众开发笔记系列 日期:2014.9.6 这篇日记是补昨天的,昨天没来得及写: 主要实现的功能:模糊检索.问答系统.帮助系统 修复了:_SESSION 的id 调整了验证机制 要注意的:mysql的语法问题.mysql的模糊匹配.PHP的关联数组好像用count计算的话其大小会有原有数据的两倍大(即数组中只有两个数据,count会得到4,这个需要再验证,好像是用到了foreach就出现了这个问题) 学到了:PHP中数组的操作 2014.9.10整理笔记: 写这个笔记的时候,在赶功能,所

PHP微信公众开发笔记(五)

PHP微信公众开发笔记系列 日期:2014.9.3 今天做了身份验证的功能,然后完善了下搜索功能.其实主要的是将整个代码结构整理了一番,应该可以说是模块化设计吧. 模块化设计我们的公众号. 因为我们之前提的功能需求中有: 1.菜单--查询功能.我考虑到后期功能的扩展,就想将这些分模块来实现:菜单模块(这样,今后我们需要添加新的菜单功能,可以直接在这个模块里操作,这样修正和维护也简单,在考虑到后期可能会分工协作的时候各开发者之间不会产生冲突): 2.数据库模块(这里就主要是负责数据库相关的工作,如

PHP微信公众开发笔记(九)

PHP微信公众开发笔记系列 日期:2014.9.9 中秋假期除了周六那天整了整,就没怎么动过了.今天上班主要是把既定的两个开发目标完成了:"八卦"."回忆"两个模块,这两个东西也很简单,也主要是涉及到数据库的操作而已.然后以图文形式回复就可以了.所以数据库中主要是保存了:文章标题.文章跳转连接.图片链接这三个字段信息. 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很

PHP微信公众开发笔记(八)

PHP微信公众开发笔记系列 日期:2014.9.6 今天主要要做:建立关键词数据库.超时机制.优化的关键词匹配.表情信息数据库 要注意的:PHP echo之后并没有返回?还会继续执行?? 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很简单的记录了上文的那几句. 这天是周六,不加班了在租的房子里歇着.因为要过中秋了,在深圳的姐这天会过来我这边过节,所以这天也没多少时间来写功能.早上早起去跑步,然后

微信公众开发能跳转到其他应用的页面吗???

问题描述 微信公众开发能跳转到其他应用的页面吗??? 开发微信服务号的时候,能不能实现我点击某个自定义菜单的时候,会跳转到其他应用,比如说,安卓市场的主界面??? 解决方案 不好意思,我记错了,刚查了下文档 如下 1.click:点击推事件 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互: 2.view:跳转URL 用户点击view类型按钮后,微信

php微信公众开发之获取周边酒店信息的方法_php技巧

本文实例讲述了php微信公众开发之获取周边酒店信息的方法.分享给大家供大家参考.具体分析如下: 关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助.代码如下: 复制代码 代码如下: <?php  //将提交过来的信息接收 $signature = $_GET['signature'];  $timestamp = $_GET['timestamp'];  $nonce = $_GET['nonce'];  

微信公众开发:使用消息接口

之前写了一篇搭建sae的python平台,通过微信公众平台验证的博文.现在就是要承上启下,开始开发的第一步.也许你会说开发的第一步就是写代码.那我会对你表示鄙视,尽管南苑随笔是个很简单的应用,但是多少也还需要设计一下.确定一下需求,为了将来能够吸引到粉丝来关注我的公众号,我必须要定位好我的app,然后提供优秀的内容,并确定它的运营模式,才能进一步地提升我们的应用水准. 需求分析 首先,这个app是要用python写的,那么就一定要优雅一点,pythonic一点.对于我自己来说,我要使得这个app

微信公众开发之获取周边酒店信息

效果图: 开发之获取周边酒店信息-虹桥开发区周边酒店"> 并且附加上代码:  代码如下 复制代码 <?php  //将提交过来的信息接收   $signature = $_GET['signature'];    $timestamp = $_GET['timestamp'];    $nonce = $_GET['nonce'];    $echostr = $_GET['echostr'];    $token = "yanjiadong";    //判断接

微信公众开发:实现功能

承启 因为之前设计了要实现一个微信机器人,以向用户响应响应的文章,这个app十分地简单,并不需要特别深入的设计,而且我的想法是:拿来主义, 反正github上面那么多的用python写的博客系统,我只需要实现微信响应的部分,也就是从数据库中获取文章的数据,然后将文章的标题,url,图片等信息打包成xml格式返回给微信服务器,服务器再返回给用户.而且我发现,有菜单的会好很多,就像一个完整的app,可以直接点击察看某篇文章,而不是硬邦邦的回复.我是用别人写的一个博客系统进行改造--saepy-log