关于speed 类似会员登录后时间过时或是非正常操作等等...

#1 john75116

类似会员登录后时间过时或是非正常操作等等的讯息处理,该怎么处理

因为我一般用smarty 后端php 我会这样写

是这样用

if(!$cookie_user){
$msg="你没有登入,或登入过时";
$this->assign("msg", $msg);
$this->display("msg.htm");
}

if(empty($hidetext)){
$msg="操作错误";
$this->assign("msg", $msg);
$this->display("msg.htm");
}


//下面才是业务逻辑//

----------------------------------------------
我想要知道的是因为我们不能把user当成什么都懂环境也跟我一样,这是不可能的,所以须要有这一种检核的判断,
这个是我看到自动输出模板和之前范例的一些疑问,因为哪些范例都是乖宝宝形的user 操作一定没有问题的,

我在想是不是可以这样
class main extends spController
{
function index($action){
  
   check_user();
   echo "你在登入状态";
   
}

function check_user($action){
  if(!$cookie_user){
   $msg="你没有登入,或登入过时";
   $this->assign("msg", $msg);
   $this->display("msg.htm");
  }
}
}
可以的话我更希望check_user(); 这种检核形式的能而外形成一个面向
因为目前是看过speed 框架,所以这边只是用概念写出来,可能有错,多见谅

2010-06-11 15:34:58

#2 jake

不是很明白楼主的意思。这里只能略说一二

1. spController以及main的类,是控制器,业务逻辑操作建议放到model的继承类当中,这方面可以参考MVC的基础描述。
2. 用户登录过期的问题,一般是使用SESSION加与ACL来进行控制,主要的做法是在进入控制器执行之前:读取SESSION内的用户信息,而后对比用户信息的权限是否能访问当前控制器和动作,可以则访问;不可以则转向错误提示。
3. 代码仅有对错之分,没有新旧之说。

2010-06-11 21:49:23

#3 john75116

-----------------------------------------
2. 用户登录过期的问题,一般是使用SESSION加与ACL来进行控制,主要的做法是在进入控制器执行之前:读取SESSION内的用户信息,而后对比用户信息的权限是否能访问当前控制器和动作,可以则访问;不可以则转向错误提示。
-----------------------------------------
可以提供一个seesion检核的小范例吗?

我看这网站的快速学习的mvc介绍,发现model 好像拿去做资料表的操作,所以有点不懂,而我认为因该是model 却被放到controller 资料夹理了。

因为就我的认知

M - 业务逻辑的处理,包含计算,变数处理以及要输出给view 的资料等等的....

V - 网页资料呈现

C - 接收来至于view 的表单传送动作并做好检核后决定呼叫的model

2010-06-12 00:08:32

#4 jake

M层负责的是数据的处理,在用户类中,可以是通过数据库检测用户名密码是否正确等。C层是交互操作。从楼上的代码看来$cookie_user这个的值,来源就应该是model的判断。

本站有不少关于登录和用户系统方面的实例,可以拿来用用看。

2010-06-12 08:50:56

#5 azwl

回复 3 john75116


  这位仁兄是不是台湾的? 看你的用词台湾味很重啊。

  你的问题正如jake说的  用acl来解决要方便的多,虽然开始稍微复杂一些

  

2010-06-12 09:42:09

#6 john75116

我是台湾的,不过这应该没关系吧,学习不分国界的

2010-06-13 22:17:36

#7 azwl

我是台湾的,不过这应该没关系吧,学习不分国界的
john75116 发表于 2010-6-13 22:17
用词严重失误啊!!!!    我和你之间没有国界!!!!  希望改正!!!!!!!!!

2010-06-14 06:39:14

#8 john75116

不要讨论政治可以吗?
每个人看待这世界的角度都不同,我不可能让每一个都满意,总不能要我不说,不做,不学吧
凡事对得起自己就行了

该如何把问题改为已解决?

2010-06-14 12:14:45

#9 jake

:handshake
PHP对哪里的人都一样,非常的容易学习和实用,呵呵。

2010-06-14 18:22:00