浏览模式: 普通 | 列表
手动强制更新没有刷新的表单令牌来解决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 ...

阅读全文…
http://www.wusihan.com/?id=41

微赞篇

一、常见信息修改文件:

1.会员卡底部信息修改:

    \app\themes\default\common\footer.html 第6行左右;

2.会员卡顶部信息修改:

    \app\themes\default\common\header.html 第6行左右;

3.后台首页顶部版权修改

    \web\themes\default\common\header-gw.html

4.后台首页底部版权修改

    \web\themes\default\common\footer-gw.html

5.前台首页顶部版权修改\web\themes\default\account\welcome.html 第53行左右;

6.前台首页底部版权修改...

阅读全文…

windows上安装 Twisted

[ 2017-04-24 09:45:14 | 作者: admin ]
http://blog.csdn.net/androidzhaoxiaogang/article/details/8479140

步骤1:下载Twisted

http://twistedmatrix.com/trac/wiki/Downloads

我下载的是(Twisted-12.3.0.win32-py2.7)

 

步骤2:安装Twisted

点击Twisted-12.3.0.win32-py2.7直接运行即可

这时候,运行IDLE,输入from twisted.internet import reactor,提示不可用。需要装zope.interface模块并且版本号要大于3.6.0

 

步骤3:下载zope

http://pypi.python.org/pypi/zope.interface#downloads

我下载的是zope.interface-3.8.0-py2.7-win32.egg
...

阅读全文…

Python 写入 Mysql 乱码问题

[ 2017-04-21 08:59:21 | 作者: admin ]
#encoding=utf-8
  
import sys
import MySQLdb as mdb
  
reload(sys)
sys.setdefaultencoding('utf-8')
 

确保以下几点,就不会有乱码问题,字符集统一采用UTF-8:
1 . 表的默认字符集是否为UTF-8,使用类似如下的SQL语句:
CREATE TABLE IF NOT EXISTS name(
         id INTEGER PRIMARY KEY AUTO_INCREMENT,
         prop VARCHAR(50),
         ...
)
DEFAULT CHARSET = UTF8;

2 . 字段内容来源为文本文件的,确保源文件编码为UTF-8,否则转码
3 . 字段内容来源为程序文件本身的,确保程序文件编码为UTF-8,否则转码
...

阅读全文…
字符串和变量相加出现错误,这是由于类型不对,而导致的

               1 我是用 “a”+b这个时候产生的错误,

               2 这是由于 ,在 python中 +号是针对两个类型相同的变量,而在上的语句中,python不知道 b这个变量的类型二导致的错误(这一点和java很不一样),用下面的语句可以解决,在变量上加str()函数

               3
print('sex:'+sex) #错误
print('sex:'+str(sex)) #正确