ThinkPHP2.0功能未能实现(或bug)问题

浏览:168 发布日期:2010/04/11
- 普通 - 未处理
[i=s] 本帖最后由 lyovercome 于 2010-4-11 14:51 编辑 [/i]

通过操作及源码查看,发现如下问题,请官方验证:
1. ThinkPHP 的令版验证有问题,网上己有解决方案。
2. ThinkPHP 关联局部更新有问题
3. thinkPHP 关联局部删除有问题

1)model.class.php
//如果没有定义$_SESSION[$name]返回为true
766:public function autoCheckToken($data) {
$name = C('TOKEN_NAME');
if(isset($_SESSION[$name])) {
// 当前需要令牌验证
if(empty($data[$name]) || $_SESSION[$name] != $data[$name]) {
// 非法提交
return false;
}
// 验证完成销毁session
unset($_SESSION[$name]);
}
return true;
}
[font=Wingdings]
[/font]ORG.Util.Image[font=宋体]的[/font]322[font=宋体]行应为[/font]
$codex= String::msubstr($code,$i,1);

2)model.class.php and Relation.class.php的关联更新的删除
问题分析:1)关联更新采用机制是先更新主表再更新附加表。a:并没有判断是否是有关联b:没有判断是否是局部更新
2)关联更的的条件不起作用,因为在Realtion.class.php的opRelation方法里使用的是 276:$pk = $data[$this->getPk()];283:$mappingCondition = !empty($val['condition'])? $val['condition'] : "{$mappingFk}='{$pk}'";
并没有对条件进行解析,如果更新数据不含主键是不能实理更新。
希望开源能做得更好,对以上情况给以解决越做越好。

评论(
后面还有条评论,点击查看>>