/
  • تعیین تاریخ اعتبار برای کاربر

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی تعیین تاریخ اعتبار برای کاربر
    نویسنده پیام
    niman2d آفلاین
    عضو
    ***

    ارسال‌ها: 51
    تاریخ عضویت: ۱۳۸۹ تير ۸
    اعتبار: 0
    تشکرها : 25
    ( 25 تشکر در 19 ارسال )
    ارسال: #1
    تعیین تاریخ اعتبار برای کاربر
    سلام خدمت اساتید عزیز ،
    ببخشید ، سرچ زدم و چیزی که مناسب کارم باشه پیدا نکردم ،
    البته این مورد رو پیدا کردم :
    کد:
    http://forum.iranphp.org/Thread-جمع-کردن-زمان-ها-با-هم

    من نیاز دارم که در یک سیستم برای هر کاربر محدوده زمانی تعیین بشه که بر اساس اون بعضی امکانات در اختیارش قرار بگیره . . .
    مثلا امروز کاربر ثبت نام میکنه ، 30 روز دیگه تاریخ اتمام اعتبارش هست ، این تاریخ اعتبار رو چطور میشه محاسبه کرد ؟
    یعنی یکجور که امروز رو در دیتابیس قرار بدیم و هربار که کاربر لاگین شد ، این مقدار چک بشه و در صورتی که از 30 روز ( یا تعداد روز های تعیین شده ) بیشتر بود ، بگه به پایان رسیده و ....

    ممنون میشم راهنمایی کنید .

    و اگر کسی امکانش رو داره کمی در رابطه با توابع تاریخ و زمان توضیح بده ، زیاد باهاشون کار نکردم

    سپاس
    ۱۳۸۹ شهريور ۱۲ ۰۶:۰۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    alic آفلاین
    عضو
    ***

    ارسال‌ها: 50
    تاریخ عضویت: ۱۳۸۹ فروردين ۲۷
    اعتبار: 0
    تشکرها : 39
    ( 20 تشکر در 11 ارسال )
    ارسال: #2
    RE: تعیین تاریخ اعتبار برای کاربر
    خودت سئوال خودتو که جواب دادی ...
    زمان رو به صورت timestamp در دیتابیس ذخیره کن
    هر بار که کاربر لوگین میکنه: timestamp با جمع یک ماه اگر کوچک تر از زمان حالا باشه به کاربر ارور بده .
    کد PHP:
    if($timestamp+30*24*60*60<time())die(); 
    ۱۳۸۹ شهريور ۱۲ ۰۶:۲۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : hidensoft niman2d webnevesht moh3nmir
    hosseintdk775 آفلاین
    حسین بقایی
    ****

    ارسال‌ها: 380
    تاریخ عضویت: ۱۳۸۷ دي ۱۵
    اعتبار: 11
    تشکرها : 423
    ( 412 تشکر در 246 ارسال )
    ارسال: #3
    RE: تعیین تاریخ اعتبار برای کاربر
    بسم الله الرحمن الرحیم
    سلام
    خوب شما یه فیلدی واسه زمان ثبت نام می زارید و مقدارش رو با تابع time() می کنید واین زمانی است که ثبت نام کرده
    یه فیلد هم واسه اعتبار کاربر هست : مثلا 30 رو / 60 روز یا هر چی

    خوب الان فرض میکنم کاربری می یاد وارد سیستم بشه و یوزرنیم و پسوردشو وارد می کنه / بعد از اینکه یوزرنیم و پسورد تایید شد اعتبار کاربر رو چک کنید
    مثلا با این تابع:
    کد PHP:
    function credit($register_time,$credit){
        
    $register_time $register_time;
        
    $credit $credit*86400;
        
    $new_time $register_time+$credit;
        
    $time time();
            if(
    $time $new_time){
                die(
    'Your account expired!');
            }



    خوب اگه اعتبارش تموم شده بود پیعام می ده در غیر اینصورت که ادامه می ده

    در مورد این تابع: register_time زمانی که کاربر ثبت نام کرده رو می گیره و credit هم مدتی که اکانت کاربر اعتبار داره
    ما با این تابع اومدیم زمان ثبت نام و اعتبار اولیه رو گرفتیم
    حال می یاییم اعتبار اکانت رو که روزانه است مثلا 30 روز رو به ثانبه تبدیل می کنیم:
    کد PHP:
        $credit $credit*86400
    حال می آییم زمانی که اعتبار کاربر تموم می شه رو بدست می یاریم:
    کد PHP:
        $new_time $register_time+$credit

    توضیح: خوب ما اومدیم اعتبار اولیه رو به ثانیه تبدیل کریم / بعدش اومدیم اعتبار اولیه به ثانیه تبدیل شده رو با زمانی که کاربر ثبت نام کرده و برحسب ثانیه است رو جمع زدیم و در نتیجه:
    زمانی که اعتبار کاربر تموم می شه بدست می یاد ( برحسب ثانیه )

    خوب الان می یاییم چک میکنیم که آیا کاربر اعتبار داره یا نه / چطوری:
    کد PHP:
    if($time $new_time
    در این قسمت در متغیر time$ زمان فعلی بر حسب ثانیه ثبت شده و در متغیر new_time$ هم جمع زمان ثبت نام + مدت اعتبار اولیه
    حال این کد می یاد می گه اگه time بزرگتر از new_time بود یعنی اعتبار اکانت تموم شده و خطا می ده
    ولی اگه new_time از time بیشتر باشه دستورات اون شرط اجرا نمی شه مابقی دستورات اجرا می شه و می ره به صفحه کاربری خودش

    البته تستش نکردم / همین الان نوشتم / ولی نباید مشکلی باشه
    __________________________________________________________________________
    یه توسعه دهنده!
    ۱۳۸۹ شهريور ۱۲ ۰۶:۳۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : hidensoft niman2d shgninc webnevesht moh3nmir
    php آفلاین
    hossein
    ****

    ارسال‌ها: 629
    تاریخ عضویت: ۱۳۸۷ دي ۴
    اعتبار: 13
    تشکرها : 467
    ( 798 تشکر در 277 ارسال )
    ارسال: #4
    RE: تعیین تاریخ اعتبار برای کاربر
    این تابع هم بد نیست .

    strtotime
    __________________________________________________________________________
    ۱۳۸۹ شهريور ۱۳ ۱۱:۵۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : farhadfery
    myfriends آفلاین
    عضو جدید
    **

    ارسال‌ها: 4
    تاریخ عضویت: ۱۳۹۱ آذر ۲۴
    اعتبار: 0
    تشکرها : 0
    ( 0 تشکر در 0 ارسال )
    ارسال: #5
    RE: تعیین تاریخ اعتبار برای کاربر
    سلام

    اگر تو سیستم تاریخ انقضا رو داشته باشیم . یعنی تو دیتابیس باشه و نیاز به بدست آوردنش نباشه
    بخوایم هر وقت به تاریخ اتمام رسید فقط جلوش بنویسه اعتبار به پایان رسیده چه کار باید کرد ؟
    ممنون میشم راهنمایی کنید Shy
    ۱۳۹۱ آذر ۲۴ ۰۲:۱۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    webnevesht آفلاین
    محمدرضا سلطانی
    ***

    ارسال‌ها: 972
    تاریخ عضویت: ۱۳۹۰ آذر ۲۵
    اعتبار: 22
    تشکرها : 384
    ( 702 تشکر در 427 ارسال )
    ارسال: #6
    RE: تعیین تاریخ اعتبار برای کاربر
    خب اول چک میکنین که آیا زمانش به پایان رسیده یا نه.که دوستان بالا توضیح دادن چیکار باید کنین.اگه زمانش به پایان رسیده بود یه پیغام بهش میدین دیگه. کاری نداره که.Blush
    __________________________________________________________________________
    بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
    ۱۳۹۱ آذر ۲۴ ۰۸:۲۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS