我目前正在尝试在我的网站上整理一个系统(编码经验有限)但没有很多参考资料,看起来似乎。
我目前有paypal IPN集成(未经测试),然后我用它来更新数据库,为用户提供“帐户时间”。我还在他们的帐户中有一个“停止/启动”功能,允许他们停止并开始他们的时间,他们的想法是,当他们“开始”他们的时间将开始倒计时。相反,当他们“停止”时,他们的倒计时不会倒计时。我猜它类似于暂停有效订阅,但我的是在短期内。
mysql_query("UPDATE `table` SET
`user_id`=$user_id,
`timeadded`=$timeadded,
`amountpaid`=$mc_gross,
`token`=$txnId,
`currtime`=TIMESTAMP()");
^这是我用来更新mysql表的片段。
$new_time = date('H:i', strtotime('+$timeadded'));
这就是我目前正在使用的with允许我计算结束日期而没有上面提到的启动/停止功能。我不确定如何从这里开始集成该功能,显然结束日期需要根据除当前日期之外的其他变量动态变化。
我还引用了this,我认为这可能会引导我走上正确的轨道,但至今尚未成功。
//time when start clicked
$first = new DateTime
//time when stop clicked
$second = new DateTime
//when start is clicked
exec(mysql_query("UPDATE `newtable` SET `userid`=$userid, `start`= $first"));
//when stop is clicked
exec(mysql_query("UPDATE `newtable` SET `userid`=$userid, `end`= $second"));
//use array to select all entries from newtable where userid=$userid (can fill this in if wanted).
$elapsed = $first->diff( $second );
$timeleft = (strtotime($timeadded) - strtotime($elapsed));
$updateelapsed = mysql_query("UPDATE `newtable` SET `userid`=$userid, `elapsed`=$elapsed")
$allelapsed = mysql_query("SELECT * FROM newtable WHERE userid=$user_id");
$allelapsedarray = mysql_fetch_array($allelapsed);
$timeelapsed = array_sum($allelapsedarray);
//so now i have my total time spent "started", i should be able to compare that to the amount of time they bought. if its more than that, they are rejected, otherwise can continue as normal.
这就是我到目前为止所包含的启动/停止功能。这只是在我遇到上面给出的第二个链接后即时完成的,我觉得它比前几段中提到的潜在方法更有成效。
到下面的注释 - 它不会更新我的数据库关于开始/停止时间,也不会更新已用时间列。鉴于这些事情,它不会禁止人们访问那些需要“时间”的区域,但我认为当上面的内容被排序时,这将自行解决。我开发的这种方法似乎也很长,所以我可能会忽略一种更简单的方法来编写这个简单明了的任务。提前感谢任何提示。