لنقل انني قمت بالتسجيل الان ( فانت تقوم باضافة تاريخ التسجيل إلى قاعدة البيانات الآن ) وهناك عدة طرق يتم استخدامها لتسجيل التاريخ ، فاي طريقة تستخدم انت ؟
من الطريقة التي قمت بارفاقها .. لربما كنت لا تستخدم طريقة من الطرق المعروفة وهي :
1- استخدام قاعدة البيانات نفسها ، فعند اضافة حقل جديد للجدول ، تستطيع تحديد النوع ان يكون datetime وعندها يظهر لك قائمة اخرى بها current_timestamp (طبعا اتحدث عن phpmyadmin ) ، وحينها يكون اضافة التاريخ تلقائي بمجرد اضافة الحقل في القاعدة insert query سيتم اضافة التاريخ في ذلك الحقل المحدد
2- عن طريق php تستطيع استخدام الفنكشن time() لتسجيل رقم طويل وهو عبارة عن عدد الثواني من 1970 للآن ، وكل شوية بيزيد يمكنك قراءة المزيد هنا :
www.php.net/time
الآن انتهينا من مسألة تسجيل التاريخ لحظة دخول العضو في قاعدة البيانات ، النقطة الثانية هي التحقق عند عملية التفعيل ..
في الحالة الأولى ، يمكنك مراجعة الفورمات ( الشكل ) للتاريخ المدخل في قاعدة البيانات ، وبالتالي التحقق منه
في الحالة الثانية ، لنقل ان التايم ستامب ( عدد الثواني ) كان في لحظة التسجيل هو 10 ، بالتالي عند عملية التسجيل ستقوم بالتحقق ان الرقم في لحظة التفعيل هو اقل من 10 ( عدد الثواني لحظة التسجيل ) + 24 ( عدد الساعات في اليوم ) * 60 ( عدد الدقائق كل ساعة ) * 60 ( عدد الثواني في كل دقيقة ) ، بمعنى ان ذلك الرقم يجب ان يقوم اقل من 10 ( لحظة التسجيل ) + 86400
مثال :
كود PHP:
//Registration
$time = time();
// mysql_query("insert into .... tare5 = '$time' "); // note : tare5 is a field in users table which is INT
//Activation
$row = mysql_query("select ..... tare5 from users ");
// .....
$timeNow = time();
if ($row['tare5'] + 86400 > $timeNow){
echo " your activation link is expired you have to request new link";
}
اتمنى الموضوع وضح معاك ..