第一件事。我在 PHP/MySQL 站点上运行 CodeIgniter。
我的任务是为一系列电影创建一个“外壳”应用程序,人们可以在我正在构建的培训网站上观看这些电影。这里的想法是一个人可以登录到一个页面,单击“参加课程”并让它记录课程的时间。然后,当这个人带着电影退出页面时,我就能记录课程结束的时间。通过这种方式,我可以比较开始时间和结束时间,并确定用户是否观看了大部分影片,以便给予用户信任。嗯,第一部分很简单。首先,我在我的数据库中建立了一个包含以下字段的表:
- intKey (intKey(10))
- strHash (varchar(255))
- dtBegan(日期时间)
- dtEnded(日期时间)
- varIpAddress (varchar(255))
我已经放入了一个执行此操作的控制器:
$ip_address = $_SERVER['REMOTE_ADDR'];
$data['hash'] = md5(time() . "Proof of Concept!");
$this->db->query("INSERT INTO pocTime SET strHash = '" . $data['hash'] . "', dtBegan = now(), varIpAddress='$ip_address'");
$this->load->view('welcome_message',$data);
好的...很容易,是吗?我也知道,当我完成后,我想启动一个执行此操作的文件:
$ip_address = $_SERVER['REMOTE_ADDR'];
$this->db->query("UPDATE pocTime SET dtEnded = now() WHERE strHash = '" . $data['hash'] . "' AND varIpAddress='$ip_address'");
我希望做的是有一个由第一个代码块调用的页面,并设置一个“陷阱”,可以这么说,以便第二个代码块由某种“回发”运行,如果呈现页面关闭。有什么建议么?我知道我可以放置某种大的“单击此处结束您的视频”类型的按钮来涵盖这一点,但我希望在某种形式的页面退出时运行代码,因为我不知道是什么用户在观看视频后会这样做。有什么想法吗?