浏览模式: 普通 | 列表
5月, 2017 | < | 1 | 2 | 3 | >
attachments/201705/10_151239_11.jpg




程序目录:
      WWW WEB部署目录(或者子目录)
      ├─index.php 入口文件
      ├─README.md README文件
      ├─Weimicms 应用目录
      ├─tpl 系统模板目录
      ├─lib 框架目录
      ├─cms 高级模板目录
      ├─conf 配置文件目录
      └─api 接口文件目录

      ├─Weimicms 框架系统目录(可以部署在非web目录下面)
      │ ├─Common 核心公共函数目录
      │ ├─Conf 核心配置目录
      │ ├─Lang 核心语言包目录
      │ ├─Lib 框架类库目录
      │ │ ├─_Core 核心Think类库包目录
...

阅读全文…

thinkphp无法加载模块解决办法

[ 2017-05-10 14:58:35 | 作者: admin ]
基本是大小写的问题,模块文件名的大小写必须一致

另外Model 目录下的文件名大小写也要和模块名称保持一致,如Selfform
模块相关文件如图:
attachments/201705/10_150752_.jpg


公众号登录后的左侧菜单修改文件:\tpl\User\default\Public_head.html




一、前台关键词回复的生效

发现修改 wwwroot\WeimiCms\Lib\Action\User目录下的LinkAction.class.php 并无效果,调试发现作用文件

/WeimiCms/Lib/Action/Home/WeixinAction.class.php 文件中有指定2处
          case 'Selfform':
            $this->requestdata('other');
            $pro=M('Selfform')->where(array('id'=>$data['pid']))->find();
            return
...

阅读全文…

ThinkPHP获取自动增长ID值

[ 2017-05-10 14:41:29 | 作者: admin ]
ThinkPHP获取自动增长ID值

$this->user->add($data);
session('id', $this->user->getLastInsID());
手动强制更新没有刷新的表单令牌来解决ajax无刷新页面下,多次提交表单的问题

今天要解决的问题是,表单令牌在ajax应用中不友好的问题。

具体不罗嗦,直接上代码:

原函数:
public function ajaxBack($msg,$status){

     $array = array();

     $array['msg']=$msg;

     $key = md5(rand(55, 999999999999999999999));

     $value = md5(rand(55, 999999999999999999999));

     $_SESSION['__hash__']=array($key=>$value);

     $array['__hash__']=$key."_".$value;

     $array['status']=$status;
...

阅读全文…
thinkphp表单令牌的作用是防止表单重复提交,开启自动验证之后会自动在表单里面生成一个 __hash__ 的隐藏表单,表单通过POST方式提交后与服务器中的session做判断,不一致就提示 表单令牌错误

解决办法:使用post提交ajax,然后在post数据中加入__hash__,用来完成令牌验证。


服务器端调用create方法会调用 autoCheckToken() 来验证表单令牌。
/lib/core/model.class.php 中有一个函数 autoCheckToken() 执行表单令牌错误的验证,代码如下:
 

         // 自动表单令牌验证
         // TODO ajax无刷新多次提交暂不能满足
         public function autoCheckToken($data) {
...

阅读全文…

php获取单一、多个随机数

[ 2017-05-09 14:42:33 | 作者: admin ]
一、普通随机数生成

1.int rand ( [int min, int max])
如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果你需要的范围大于 32768,考虑用 mt_rand() 来替代之。

2.int mt_rand ( [int min, int max])

如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。

3.void srand ( int seed) void mt_srand ( int seed)
...

阅读全文…

window命令行启动Mysql并安装成服务

[ 2017-05-08 14:19:56 | 作者: admin ]
1. 以本地服务方式启动
      安装MySQL本地服务
      D:\AppServ\MySQL\bin\mysqld.exe --install 服务名

        D:\AppServ\MySQL\bin>mysqld-nt --install mysql
          如果不写"服务名",默认MySql。
      如要增加设置文件,格式如下:
      D:\AppServ\MySQL\bin\mysqld.exe --install <服务名> --defaults-file=<文件名.ini或文件名.cnf>
          例如:
      D:\AppServ\MySQL\bin\mysqld.exe --install mysql --defaults-file=C:/windows/my.ini

      D:\AppServ\MySQL\bin\mysqld-nt --install ...

阅读全文…