راکت
حل شده

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

13 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

13
karakar
karakar
@karyabi1395

تخصص: برنامه نویس

بهترین پاسخ

اول از همه باید تاریخ روزی که درخواست داده میشه رو محاسبه و به اون عدد 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, ...';
}
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

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

میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

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

شاید پاسخ شما همین‌جا باشد

.
.
@jwkwok

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

.
.
@jwkwok

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

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

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

.
.
@jwkwok

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

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

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