gpt4 book ai didi

PHP MySQL 在一定时间后停用高级成员(member)资格?

转载 作者:行者123 更新时间:2023-11-29 13:09:18 28 4
gpt4 key购买 nike

我最近刚刚研究出如何使用 PayPal IPN 在用户支付一定金额后启动高级成员(member)资格。一旦用户点击升级帐户,他们就会被定向到 PayPal 进行支付,然后 IPN 就会启动更新数据库以显示用户是高级用户。我希望在他们的帐户恢复正常之前能持续一段时间,但不知道该怎么做?例如,他们升级,2年后,触发MySQL更新,使他们的账户恢复到平均水平。这是我正在使用的 IPN 脚本:

<?php 
include 'core/init.php';

//DONT CHANGE THESE VARIABLES
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$receiver_email = $_POST['receiver_email'];
$username = $_POST['custom'];


if($payment_status =="Completed")
{
$purchase_check = mysql_query("SELECT premium FROM users WHERE username='$username'");
while($row = mysql_fetch_assoc($purchase_check))
{
$paid = $row['premium'];
}
if($paid=="0")
{
if($receiver_email=="aidan6141@hotmail.co.uk")
{
if($payment_amount=="6.99" && $payment_currency=="GBP")
{
$update_premium = mysql_query("UPDATE users SET premium='1' WHERE username='$username'");
}
}
}
}
else
{
echo "Access Denied!";
}

?>

我正在考虑使用我的 PHP 基本思想,我可以将“upgrade_date”值作为时间戳添加到数据库中,然后添加到我的代码中:

mysql_query("UPDATE users SET upgrade_date=CURDATE() WHERE username='$username'"); 

因此,更新升级日期应该不是问题,问题是我如何记忆起该信息,以便在时间戳后的 2 年内将它们发回给普通成员(member)?我还希望显示一个倒计时日期或其他东西,以便他们知道他们的帐户还剩多久?

如有任何帮助,我们将不胜感激,谢谢!

最佳答案

为什么不使用unix时间戳而是使用数据库中的 bool 值?

您可以直接说数据库中的premium字段将保存高级成员(member)资格的过期时间

然后您可以检查当前时间戳是否大于 premium 字段中保存的值,则它已过期...如果为 Null > 或 0 他从来没有成为过高级成员(member),如果它小于保存的值,那么他的成员(member)资格是有效的,然后您可以计算当前时间戳和保存的时间戳之间的差异,看看它还有多长时间过期。

关于PHP MySQL 在一定时间后停用高级成员(member)资格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301594/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com