دوست عزیز !
من در مورد تاریخ فارسی باید بگم این عدد تابع یعنی strtotime کار نمیکنه ! چون php از سال 1877 گمونم به بعد رو تبدیل میکنه که تاریخ ما 1300 هست !
بگذریم . به هر حال شما باید روز ثبت نام یک فرد تاریخ اون روز رو به میلادی بگیری و در دیتابیس ذخیره کنی !
بعد در صفحه لاگین کدی رو بنویسی که چک کنه کاربر چند روز هست که ثبت نام کرده ! و بعد میتونی نسبت به روزهای بدست آمده هر حرکتی رو که خواستی انجام بدی !
بنده یک کد خیلی ساده برات نوشتم که در این کد :
- زمان ثبت نام تاریخ به میلادی در دیتابیس همراه بقیه اطلاعات ذخیره و expire برابر با 0 داده میشه !
- زمان لاگین روزهای ثبت نام کاربر بدست میاد و اگه بیشتر از 30 روز شده باشه کاربر منقضی میشه ! یعنی expire برابر 1 میشه !
کد :
// When Registering
// Db Connect...
$username=$_POST['username'];
$pssword=$_POST['password'];
$reg_date=date("Y-m-d");
mysql_query("INSERT INTO `users` (`username`,`password`,`reg_date`,`expire`) VALUES('$username','$password','$reg_date','0')");
// When Logged in
function s2t($date){ // ساخت تابع تبدیل تاریخ به عدد روز
$date=strtotime($date);
$date=$date/86400;
$date=round($date);
return $date;
}
$sql=mysql_query("SELECT * FROM `users` WHERE `username`='$username'");
$obj=mysql_fetch_object($sql);
$rd=$obj->reg_date; // دریافت روز ثبت نام از دیتابیس
$today=date("Y-m-d"); // بدست آوردن تاریخ امروز
$rdNum=s2t($rd); // تبدیل تاریخ روز ثبت نام به عدد
$todayNum=s2t($today); // تبدیل تاریخ امروز به عدد
$registered_days=$todayNum-$rdNum; // بدست آوردن روزهایی که از تاریخ ثبت نام گذشته است - مثلا 28 روز
if($registered_days>30){ // چک کردن روزهای ثبت نام که اگر بیشتر از 30 روز بود کاربر منقضی شود
mysql_query("UPDATE `users` SET `expire`='1' WHERE `username`='$username'");
}
حالا دیگه شما خودتون ببینید که به چی نیاز دارید و اون رو اعمال کنید !