在添加会员时,由于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的处理机制还不够周全,且框架好久没更新了,使用令牌的小伙伴可以先用此方法解决。 最佳答案