当用户登陆页面时,我想在我的数据库中自动存储cookie。 cookie“someCookie”之前已设置在不同的页面上。
我的想法是将cookie存储在变量中,然后通过表单发送。
<?php
$someCookie = $_COOKIE['somecookie'];
echo $this->Form->create('Some object');
echo $this->Form->input('something', array('type' => 'hidden', 'value' => $someCookie));
echo $this->Form->end('Save this');
?>
然后我会做一些按下提交按钮的东西。然而,这对于解决这个问题感觉就像一个非常黑客的方式。
这样做的正确方法是什么?
答案 0 :(得分:1)
为什么不直接在会话中保存当前时间?然后在下一页阅读会话并进行比较? 那似乎不那么“hacky”
$this->Session->write('pageStart', time() );
然后在下一页:
$timeOnPage = $this->Session->read('pageStart', time()) - time();
然后你可以继续保存$ timeOnPage变量,而不会在视图中出现问题。
一些阅读:http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html