ログインを許可する前に、ユーザーテーブルに期限切れの列を追加して現在の日付と比較してみませんか?この日付が期限切れの場合は、支払いページにリダイレクトしてメンバーシップを更新してください。
この日付を使用して、アクティブなメンバーの「残りの日数」を表示し、過去数日ほどで支払いリンクの表示を開始することもできます。
私は常に、日付を格納するための列タイプとしてDATETIMEを使用してきました。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.htmlでMySQLの日付と時刻の関数を確認してください。例:次のクエリは、date_col値を持つすべての行を選択します過去30日以内から:
SELECT something FROM tbl_name
-> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
あなたの場合に必要なのは、メンバーシップを非アクティブにするための次のクエリです-
$sql = SELECT * FROM users WHERE
DATEDIFF(expiration_date, CURDATE()) days_left
HAVING days_left < 0
while($row=.....) {
//Update query to set user_status='expired' or whatever
}