查看文章
 
示例Blog发表日志的程序流程
2008-04-16 9:44

示例Blog发表日志的程序流程

之所以很在意“发表日志”的程序流程,是因为,在WEB页中,很多时候即要上传附件,又要填充数据,此时,就即要把数据入库,又要把附件传到服务器,还要把附件与数据Id号对应起来

在流年的指导下已了解该流程,所以写了个总结贴http://bbs.thinkphp.cn/viewthread.php?tid=226&page=1&extra=page%3D1

点击“发表日志”,并且附件中有内容,此时执行JS函数:save(),它的代码是:
function save(){
if ($('file1').value)
{   uploading();
       $('upload').submit();
}else{ saveEditor();
ThinkAjax.sendForm('form1','__URL__/insert/',doComplete,'result');
}
}
可见,此时会执行uploading();然后提交upload,也就是附件所在的表单,
现在的疑问是:
1.如果有附件,那么会执行:$('upload').submit();也就是提交到Blog/index.php/Blog/upload/,那么它日志的数据是怎么添加上数据库的
2.由以上可以看出,如果有附件,是先执行$('upload').submit();,那么,附件表attach中的recordId是怎么来的,不是还没有添加日志数据的吗

[ 本帖最后由 lin_chaoqi 于 2008-4-15 17:38 编辑 ]

附件

ff.JPG (49.36 KB)

2008-4-15 03:40 PM

ff.JPG

Ps:
1 、附件提交完毕会执行uploadComplete方法 里面会进行表单提交
2、第二个问题是用了一个技巧的,当前页面会生成一个$_SESSION['attach_verify'] 在表单数据写入完成后会触发_trigger方法(参考PublicAction)进行附件表的recordId字段更新

PS:以上解决方案是Blog示例的解决方便,并不是ThinkPHP内置的方案


类别:thinkphp学习相关||添加到搜藏 |分享到i贴吧|浏览(212)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu