まず最初に。PHP/MySQLサイトでCodeIgniterを実行しています。
私は、私が構築しているトレーニングWebサイトで人が見ることができる、一連の映画の「シェル」アプリケーションを作成するという任務を負っています。ここでの考え方は、ユーザーがページにログオンし、[コースを受講]をクリックして、コースの受講時刻をログに記録できるようにすることです。そして、その人が映画を持っているページを出るとき、私はコースが何時に終わったかを記録することができるでしょう。このようにして、開始時間と終了時間を比較し、ユーザーにクレジットを与えるためにユーザーが映画のほとんどを視聴したかどうかを判断できます。さて、最初の部分は簡単です。まず、次のフィールドを使用してデータベースにテーブルを作成しました。
- 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);
OK ...簡単ですよね?また、完了したら、これを実行するファイルを起動したいことも知っています。
$ip_address = $_SERVER['REMOTE_ADDR'];
$this->db->query("UPDATE pocTime SET dtEnded = now() WHERE strHash = '" . $data['hash'] . "' AND varIpAddress='$ip_address'");
私が望んでいるのは、コードの1番目のブロックによって呼び出されるページを作成し、レンダリングされた場合にコードの2番目のブロックが何らかの「ポストバック」によって実行されるように、いわば「トラップ」を設定することです。ページが閉じています。助言がありますか?これをカバーするような大きな「ビデオを終了するにはここをクリック」タイプのボタンを配置できることは知っていますが、ページからの何らかの形の終了でコードを実行しようとしています。ユーザーはビデオを見た後に行います。何かご意見は?