Yii 如何显示用户离开页面的时间
我的Yii应用程序中有一个简单的页面跟踪系统。当用户查看单个项目时,我使用Yii 如何显示用户离开页面的时间,yii,Yii,我的Yii应用程序中有一个简单的页面跟踪系统。当用户查看单个项目时,我使用页面id,会话id,时间更新数据库。我还有一个time\u end列,但我不确定更新此字段的最简单方法是什么 目前非常简单,如下所示: public function actionView($id) { // View a single item // Load item $model = Item::model()->loadItem($id); // load viewed item model $view
页面id
,会话id
,时间更新数据库。我还有一个time\u end
列,但我不确定更新此字段的最简单方法是什么
目前非常简单,如下所示:
public function actionView($id) { // View a single item
// Load item
$model = Item::model()->loadItem($id);
// load viewed item model
$viewedPage = new ViewedItem;
// set attributes
$viewedPage->page_id = $model->id;
$viewedPage->session_id = Yii::app()->session->sessionId;
$viewedPage->time_started = new CDbExpression('NOW()');
$viewedPage->save();
$this->render('view', array(
'model' => $this->loadModel($id, 'Item'),
}
任何指导都会有帮助
谢谢
Jonny由于HTTP是一种无状态协议,我们无法确定用户何时离开页面。但有两种方法可以做到这一点
Javascript方法:
当用户离开页面时触发事件“onbeforeunload”。您可以查找该事件,然后使用$.post()或$.ajax()执行一个操作,该操作将更新当前会话id的$time\u end
Yii方法(代码):服务器端可以有一个脚本来检查每个会话。它将检查如果来自会话id
的最后一个请求是x\u秒
旧的,那么我们可以将上次记录的时间设置为$time\u end
我认为这些都是有用的。由于HTTP是一种无状态协议,我们无法确定用户何时离开页面。但有两种方法可以做到这一点
Javascript方法:
当用户离开页面时触发事件“onbeforeunload”。您可以查找该事件,然后使用$.post()或$.ajax()执行一个操作,该操作将更新当前会话id的$time\u end
Yii方法(代码):服务器端可以有一个脚本来检查每个会话。它将检查如果来自会话id
的最后一个请求是x\u秒
旧的,那么我们可以将上次记录的时间设置为$time\u end
我认为这些都是有用的。您需要发布整个控制器的代码,如果可以的话,我可以帮您。我需要看看你们如何调用模型。你们需要发布整个控制器的代码,如果可以的话,我可以帮你们。我要看看你们怎么称呼模特。谢谢,我会调查更多谢谢,我会调查更多