onethink中添加会员时表单令牌错误的解决方法

浏览:416 发布日期:2018/02/24 分类:技术分享 关键字: onethink php 表单令牌
如果你使用了onethink 框架,而且开启了表单令牌的话。那么恭喜你,中奖了,继续往下看吧。

在添加会员时,由于onethink的机制会调用create方法进行数据验证,但是在传入create方法中的参数$data中,并不包括令牌字段,如下代码:$data = array(
            'username' => $username,
            'password' => $password,
            'email'    => $email
        );
$this->create($data)
所以当验证令牌时,会找不到令牌的值,造成比对不通过,提示表单令牌错误。

解决方法:
在$data中加入令牌键值对,如下:$data = array(
            'username' => $username,
            'password' => $password,
            'email'    => $email,
            C('TOKEN_NAME', null, '__hash__') => I('__hash__')
        );
这样就可以通过验证了,这里onethink的处理机制还不够周全,且框架好久没更新了,使用令牌的小伙伴可以先用此方法解决。
最佳答案
评论( 相关
后面还有条评论,点击查看>>