您当前的位置:首页 >> 网站建设
RSS

内容管理系统的错误记忆功能

作者: Insun Lee 来源: 2009-08-10

本文所说的内容管理系统包括各种B/S结构内容管理系统,比如:CMS/BLOG/WIKI/BBS等。

有没有遇到这种情况:你花了大量的时间来写某些内容,当你提交的时候可能由于某种原因出错结果所有的内容全部被清空,如果想继续提交的话又得花大量的内容来回忆刚才写的内容,不提交的话可能你无法交差或者刚才白忙了一场很不甘心!这种情况通常是由于一些列的问题导致的:1、内容管理系统的前台没有JS检测(或者用户浏览器的JS被禁用——我的系统不安装任何杀毒软件和防火墙,为了安全一般情况下是禁用JS的);2、前后台检测不一致;3、内容通过post提交;4、用户数据没有临时存储。

通常情况下,大部分内容管理系统在用户提交内容给它处理的时候,必选项如果未填写或者有些格式错误的话,内容管理系统将提示出错并且返回(自动或手动),而通过POST提交的时候,在IE6或者更低的浏览器版本下,各个文本框文本域的内容是不被记忆的,且通过浏览器的hirstory(-1)是无法回到原先内容提交页面。在这种情况下用户返回后所有的选项内容都被浏览器(部分)清空,这将使得用户很郁闷,很可能他(她)花费了大量时间写出来的内容由于一点点的疏忽(部分必选项未填写或者格式出错——别说前台通过js提示,有时候js并不一定能运行)而丢失了所有的内容!如果是你的话,你有什么感想?我是通过Cookie来解决内容用户提交的内容丢失的问题。处理的步骤如下:

1、用户提交数据时,先把用户提交的各个数据通过Cookie保存起来;
2、处理用户提交的内容:检查必填项及各个选项的格式,处理各项目;
3、如果必填项未填写或者某些选项的内容格式出错,则提示并返回。返回后从Cookie中读取数据并填写到各对应选项中;
4、各选项符合要求,则提交内容并清空Cookie;

注意:如果您的系统包含了文本域且内容大小可能超过4k,此时不能用Cookie作为存储介质,而应该采用临时文件。因为Cookie是有大小限制的,在各种浏览器中的大小或许不一致。因此最保险的方法是在内容提交的时候建立一个临时文件如"content.cache.php"作为临时存储介质。此时操作的步骤是一致的,唯一不同的是存入和读取的方法稍微有点不同。

本文由Insun Lee写于一族网络,可转载或摘录但须留本文链接

联系E族

关闭
  • 即时信息
  • 详细信息

发送

MySQL Error