النتائج 1 إلى 7 من 7

الموضوع: [مشكلة] الدالة date_default_timezone_set

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361

    [مشكلة] الدالة date_default_timezone_set



    السلام عليكم،

    عند تثيبت احد السكريبتات تلقيت رسالة التنبيه هذه :

    Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSD/4.0/DST' instead in /home/user/public_html/dir/config.php on line 48
    1 - لماذا يجب يجب استعمال الدالة date_default_timezone_set() ؟

    2 - كيف يمكن استعمالها بصورة عامة لان زوار الموقع سيبكونون من اقطار الارض كلها ؟

    شكراً.





    __________________
    مجلتي الصغيرة


  2. #2
    عضو جديد
    تاريخ التسجيل
    Apr 2011
    المشاركات
    9


    و عليكم السلام و رحمة الله تعالى و بركاته ،

    يبدو أنه عليك تحديد توقيت زمني بنفسك و عدم الاعتماد على السيرفر ليحدد لك أو يستخدم التوقيت الافتراضي الذي من المفترض أنه موجود!
    إذا كنت كما قلت تريد توقيتًا عالميًا ، إذن فتوقيت جرينيتش هو الأنسب ، أليس كذلك؟

    ضع الدالة التالية كما هي في كل صفحة فيها استخدام لدالة من دوال الوقت أو التاريخ:
    كود PHP:
    date_default_timezone_set('Europe/London'); 
    إذا كنت تفضل توقيت مكة المكرمة مثلاً ، فيمكنك وضع الدالة التالية كما هي بدلاً من السابقة:

    كود PHP:
    date_default_timezone_set('Asia/Riyadh'); 
    *ملاحظة: الدالة التي وضعتها لك لا تؤثر إلا على ما بعدها في نفس الصفحة ؛ لا توثر على غيرها من الصفحات و لا تؤثر على أي شيء يكون قبلها في الكود!

    أتمنى أن يحل هذا المشكلة ، يمكنك إذا أردت أن تتيح لكل شخص اختيار التوقيت المناسب له! جميع التوقيتات المتاحة موجودة في: http://www.php.net/manual/en/timezones.php

    و السلام عليكم و رحمة الله تعالى و بركاته ..






  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    شكرا لك اخي عمر.

    اكتشفت أن الخطأ فوق ناتج لاني استعملت النسخة السادسة التطورية في حزمة Appserv 2.6.0

    اريد ان اطرح اشكال وارجو الرد عليه :

    نأخذ مثال.

    لدي سكريبت أخبار.

    في حالة اضافة خبر يجب ان ادخل تاريخ اضافة الخبر الى القاعدة.

    مثلا انا حددت توقيت السكريبت بـ GMT

    الوقت الآن GMT : السبت 23 افريل 2011 الساعة 04:16 صباحا.

    1 - انا على توقيت GMT+1

    فعندما استعمل السكريبت عندي في السيرفر المحلي على جهازي فسيكون تاريخ الاضافة :

    السبت 23 افريل 2011 الساعة 05:16 صباحاً

    2 - السيرفر على توقيت GMT-6

    تاريخ الاضافة سيكون :

    السبت 23 افريل 2011 الساعة 23:16 مساء

    3 - مستعمل لهذا السكريت من دولة توقيتها GMT+11

    تاريخ الاضافة سيكون :

    السبت 23 ابريل 2011 الساعة 16:16 مساء.

    أ - بأي وقت سيتم ادراج تاريخ اضافة الخبر ؟

    ب - بأي وقت سيتم إظهار تاريخ إضافة الخبر ؟

    ج - كيف يتم حل مشكلة توحيد ظهور تاريخ إضافة الخبر حتى لا يظهر لصاحب الدولة GMT+11 خبر حدث اليوم بتاريخ الأمس لانه اضيف يتوقيت السيرفر ؟

    أرجو ان اكون وفقت في شرح المثال :deal:





    __________________
    مجلتي الصغيرة

  4. #4
    عضو جديد
    تاريخ التسجيل
    Apr 2011
    المشاركات
    9


    السلام عليكم ، سأحاول الإجابة على سؤالك حسب ما أعلم و حسب ما فهمت من السؤال ..

    أنت قلت الحفظ في قاعدة البيانات ، إذا كان الحفظ في قاعدة البيانات عن طريق صفحة التوقيت فيها هو GMT كما قلت و تم استخدام دالة من دوال الـPHP في حفظ الوقت مثل date() إذن فهذه الدالة ستكون مرتبطة بالصفحة ثم بالسيرفر ، إذا لم تحدد الصفحة الوقت و التاريخ سوف تعتمد على توقيت السيرفر و لا علاقة لها بأي شكل من الأشكال بتوقيت الزائر. و لأن الصفحة لها توقيت محدد هو GMT ، سيكون تاريخ و وقت الحفظ في قاعدة البيانات حسب توقيت GMT ، و الله أعلم.

    لحل مشكلة السؤال رقم (ج) هناك فكرتين ، إذا لم يكن هناك نظام عضويات أو لم يكن الزائر مسجلاً بعضوية يظهر له بتاريخ الإضافة العادي جداً (GMT في هذه الحالة) و يمكن كتابة "GMT" بجانب التاريخ. أما إن كان مسجلاً فيمكن أثناء التسجيل أن يختار التوقيت الذي يناسبه ، و هنا إذا اختار توقيت دولة GMT+1 مثلاً يتم تعديل وقت ظهور الخبر و تاريخه إن لزم الأمر ، لكن ليس في قاعدة البيانات فالوقت المحفوظ في قاعدة البيانات يجب أن يكون بتوقيت ثابت و عند الإظهار يتم معالجة الوقت و التاريخ لإظهاره بتوقيت مختلف!
    أتمنى أني استطعت توضيح الفكرة ، و بشكل صحيح.

    اسمح لي أخي الكريم ، فلدي أنا أيضاً سؤال! عند إضافة تاريخ في قواعد البيانات هل هناك خاصية توفرها MySQL أو غيرها لإضافة الوقت و التاريخ بغير دوال الـPHP ، في حالة توفيرها لتلك الخواص ، لا أستطيع أن أؤكد لك أن كلامي السابق صحيح ،، لأن توقيت قاعدة البيانات قد يكون منفصل ، رغم أن الأرجح - إن وجدت تلك الخواص - أن يكون توقيت قاعدة البيانات متأثر بتوقيت الصفحة ثم السيرفر إن لم يكن للصفحة توقيت!

    و السلام عليكم و رحمة الله تعالى و بركاته ..






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jul 2008
    المشاركات
    128


    current_timestamp
    هذه الخاصية موجودة في mysql
    وتضع الوقت والتاريخ بالطريقة 2011-04-13 13:10:46






  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    فكرة جميلة اخي عمر.

    ولكن هل هناك طريقة آلية وغير مؤثرة في سيرورة السكريبت للتعرف على توقيت الزائر وبالتالي عرض التواريخ حسب توقيته ؟

    شكراً.





    __________________
    مجلتي الصغيرة

  7. #7
    عضو جديد
    تاريخ التسجيل
    Apr 2011
    المشاركات
    9


    السلام عليكم ،
    أشكر أخي atlasarab على الملحوظة المهمة ..

    أخي apitos، الفكرة ليست فكرتي هههههه ، هي مستخدمة في مختلف أنواع و نسخ و برمجيات المنتديات ، و منها هذا!! أشكرك لفتح النقاش مرة أخرى.

    حسب علمي لا يمكن الوصول لتوقيت الزائر عن طريق السيرفر ، و إنما عن طريق المتصفح ،، و هذا يعني أن عليك استخدام الجافاسكريبت ،، و هنا لا أستطيع مساعدتك ، أحتاج من يساعدني أنا فيه أساسًا!!










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض