محمد مهدی امیری
3 سال پیش توسط محمد مهدی امیری مطرح شد
13 پاسخ

تاریخ انقضا کد ها

سلام خسته نباشید ببخشید من میخواستم برای کد هام تاریخ انقضا درست کنم مثلاً این کد تا هفت روز دیگه کار می‌کنه بعد از هفت روز یک متنی رو نمایش بدم چطوری با php درستش کنم


ثبت پرسش جدید
karakar
تخصص : برنامه نویس
@karyabi1395 3 سال پیش آپدیت شد
1

اول از همه باید تاریخ روزی که درخواست داده میشه رو محاسبه و به اون عدد 604800 ( 7 روز رو بخوای به ثانیه تبدیل کنی این عدد میشه، هفت روز ضربدر 24 ساعت ضربدر 60 دقیقه ضربدر 60 ثانیه) اضافه کنی، و بعد این عدد (expireDate$) رو در دیتابیس ذخیره کنی:

متغیر registerDate یک عدد به ثانیه نمایش میده که این عدد میگه از تاریخ "January 1 1970 00:00:00 GMT" تا این لحظه چند ثانیه گذشته

$registerDate = date('U');
$expireDate = $registerDate + 604800;

و در هر صفحه ای که خواستی، ابتدا عددی که برای تاریخ انقضاء (expireDate$) ذخیره کردی رو فراخوانی کن و بعد با تاریخ لحظه مقایسه کن، اگر بیشتر شد پیغام خطا رو نمایش بده یا به یک صفحه دیگه ریدایرکتش کن:

$expireDate = .....
if ($expireDate < date('U')){
echo 'Error, ...';
}

میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 3 سال پیش آپدیت شد
0

ممنون از اصلاح عنوان سوال.


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
ببین تو باید تاریخ انقضا به صورت تاریخ میلادی ثبت کنی بعد بیای یه شرط بزاری بگی تاریخ الان اگه از تاریخ میلادی رد کرد بیاد پیام بده
برای تاریخ هم اگه تو لاراول باشی میتونی از carbon خیلی خوب کمک بگیری


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
0

قبل از شروع دیکد کد اول اون زمان رو چک کن اگه منقضی شده بود ریدایرکت کن به اون صفحه ای که می خوای


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

@Nima.nori
اره دقیقا میخوام همچین چیزی باشه


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 3 سال پیش مطرح شد
1

@milwad @Nima.nori
روش ساده و خوبی هستش، مطمئنا در خیلی موارد کاربردی خواهد بود.
اما اگه فرد تخصص داشته باشه، به سادگی کدهارو تغییر میده و باز هم اجراشون میکنه.


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

خب پیشنهاد شما چیه برای این کار


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
0

خب دیگه کل کار با if در میاد
اول مثلا سفارش که ثبت می کنی زمان اتمام اون سفارش رو توی دیتا بیس ذخیره کن
بعد موقع اجرای کد زمان حال حاضر سرور رو بگیر و ببین اگه زمان سیستم کوچیکتر بود یعنی هنوز منقضی نشده پس کد رو ادامه بده
ولی اگه زمان سیستم بزرگتر بود یعنی منقضی شده و کاربر باید به صفحه ای دیگه منتقل بشه


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

خب اگه کار با دیتا بیس هستش من نمیتونم نام دیتا یوزر و پسش رو داخل تمام پروژه های انکود شده قرار بدم


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش آپدیت شد
0

@Nima.nori
من اول میخواستم اینکار و کنم
تاریخ امروز و با عدد 7 جمع کنم و داخل متغیر بریزم
بعد اینکارو انجام بدم

<?php
$time = date('d');
$timeplus = '20';
if ($time <= $timeplus){
echo 'hello world';
}
?>

این کد من دوتا مشکل داره اولی اینکه که وقتی میخوام تاریخ الان رو با 7 جمع کنم عدد بیشتر از 30 روز میشه مثلا اگه امروز 28 باشه من میخوام کدهام هفت روز تاریخ داشته باشه تاریخ امروز و با 7 جمع میکنم و خروجیش میشه 35 که این نمیشه
مشکل دوم
وقتی از این کد استفاده میکنم پروژه دیگه قفل نمیشه یعنی اگه تاریخ 16 که امروزه این روی پروژه تاریخ انقضا با if درست کنم تا یک هفته کار میکنه ولی دوباره تاریخ 16 دوباره شورع میشه تا هفت روز دیگه و همین جوری


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

کسی میتونه کمکم کنه


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
0

پیشنهادم اینه زمان رو به صورت timestamp استفاده کنین این مشکلات رو نداره


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

میتونید یک کدی به من بدید که تا هفت روز کار کنه و بعدش نه چون من با timestamp کار نکردم


karakar
تخصص : برنامه نویس
@karyabi1395 3 سال پیش آپدیت شد
1

اول از همه باید تاریخ روزی که درخواست داده میشه رو محاسبه و به اون عدد 604800 ( 7 روز رو بخوای به ثانیه تبدیل کنی این عدد میشه، هفت روز ضربدر 24 ساعت ضربدر 60 دقیقه ضربدر 60 ثانیه) اضافه کنی، و بعد این عدد (expireDate$) رو در دیتابیس ذخیره کنی:

متغیر registerDate یک عدد به ثانیه نمایش میده که این عدد میگه از تاریخ "January 1 1970 00:00:00 GMT" تا این لحظه چند ثانیه گذشته

$registerDate = date('U');
$expireDate = $registerDate + 604800;

و در هر صفحه ای که خواستی، ابتدا عددی که برای تاریخ انقضاء (expireDate$) ذخیره کردی رو فراخوانی کن و بعد با تاریخ لحظه مقایسه کن، اگر بیشتر شد پیغام خطا رو نمایش بده یا به یک صفحه دیگه ریدایرکتش کن:

$expireDate = .....
if ($expireDate < date('U')){
echo 'Error, ...';
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام