• 27-09-2015, 14:46:45
    #1
    Merhaba arkadaşlar php ile global bir proje hazırlıyorum.
    Bu projede birden fazla ülkeden insanın gireceğini düşünürsek üyenin ülke saati ile sunucu saati arasındaki farkı kapatacağım gelişmiş bir fonksiyona ihtiyacım var.

    Şuanda veritabanına date("Y-m-d H:i:s") şeklinde tarih ve saati kaydediyorum.Yardımcı olabilecek arkadaşlara şimdiden çok teşekkür ederim.
  • 27-09-2015, 17:01:19
    #2
    Giren kişinin saatini kendi veritabanınıza mı kaydetmek istiyorsunuz? Bunu IP'ye göre geolocation kullanarak sunucu tarafında halledebilirsiniz. Çok sağlıklı olmayacaktır. Sadece kullanıcıya kendi saatini gösterecekseniz o zaman php ile değil javascript ile yapabilirsiniz. php'ye sorduğunuz için şöyle yanıt vereyim ;
    echo '<script type="text/javascript">
    var x = new Date()
    document.write(x)
    </script>';
    gibi...

    Eğer kayıt olunan bir siteyse siz de diğer siteler gibi zaman dilimini kullanıcıdan formda talep edebilirsiniz. Ne yapacağınız anlaşılmadığı için net yanıt vermek güç.
    Kolaylıklar
  • 27-09-2015, 18:54:15
    #3
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Giren kişinin saatini kendi veritabanınıza mı kaydetmek istiyorsunuz? Bunu IP'ye göre geolocation kullanarak sunucu tarafında halledebilirsiniz. Çok sağlıklı olmayacaktır. Sadece kullanıcıya kendi saatini gösterecekseniz o zaman php ile değil javascript ile yapabilirsiniz. php'ye sorduğunuz için şöyle yanıt vereyim ;
    echo '<script type="text/javascript">
    var x = new Date()
    document.write(x)
    </script>';
    gibi...

    Eğer kayıt olunan bir siteyse siz de diğer siteler gibi zaman dilimini kullanıcıdan formda talep edebilirsiniz. Ne yapacağınız anlaşılmadığı için net yanıt vermek güç.
    Kolaylıklar
    Söylediğiniz gibi kayıt olunan bir site için gerekiyor.Üyenin hangi ülkeden giriş yaptığını hallettim ülke kodlarını kaydediyorum veri tabanına.Ancak saat dilimini kendim kullanıcıya sormadan örneğin amerikadan giriş yapan bir kullanıcı için mesaj gönderdiği saati sunucu saatine göre değil amerika saatine göre kaydetmem gerekiyor.Veya sunucu saatiyle kaydedip o kullanıcıya uygun saat farkına göre değiştirerek göstermem gerekiyor.
  • 27-09-2015, 19:14:11
    #4
    Muhtemelen nette ülkelerin EST'ye göre + - saat farkları vardır. Sizin bir veritabanı oluşturmanız gerekiyor. Elinizde kullanıcıların ülkeleri varsa o veritabanına göre sunucu saatine + - yaparak saati elde edebilirsiniz.

    Ama ben olsam bu kadar uğraşmazdım sanıyorum. İnsanların bilgisayar-mobil saatleri doğrudur varsayarak zamanı js ile tarayıcı tarafında alır post eder, o saati sunucuya girerdim muhtemelen. Diğer türlü uğraşırsınız zira.

    Ne yapmak istediğinizi anlamadığım için mahsuriyeti var mı yok mu bilmiyorum fakat alternatif olarak bu yol da aklınızda bulunsun.

    Postu veritabanına eklerken sunucu saati ile girip, gösterirken sunucu saati ile tarayıcı saati arasındaki farkı js tarafında alıp, o farkı post tarihine uygulayarak görüntülettirebilirsiniz. Bu ilk yöntemde açık olacak olan tarayıcı tarafında tarihi kodlara müdahale ederek değiştirme riskini de ortadan kaldırır.
  • 27-09-2015, 20:36:45
    #5
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Muhtemelen nette ülkelerin EST'ye göre + - saat farkları vardır. Sizin bir veritabanı oluşturmanız gerekiyor. Elinizde kullanıcıların ülkeleri varsa o veritabanına göre sunucu saatine + - yaparak saati elde edebilirsiniz.

    Ama ben olsam bu kadar uğraşmazdım sanıyorum. İnsanların bilgisayar-mobil saatleri doğrudur varsayarak zamanı js ile tarayıcı tarafında alır post eder, o saati sunucuya girerdim muhtemelen. Diğer türlü uğraşırsınız zira.

    Ne yapmak istediğinizi anlamadığım için mahsuriyeti var mı yok mu bilmiyorum fakat alternatif olarak bu yol da aklınızda bulunsun.

    Postu veritabanına eklerken sunucu saati ile girip, gösterirken sunucu saati ile tarayıcı saati arasındaki farkı js tarafında alıp, o farkı post tarihine uygulayarak görüntülettirebilirsiniz. Bu ilk yöntemde açık olacak olan tarayıcı tarafında tarihi kodlara müdahale ederek değiştirme riskini de ortadan kaldırır.
    Söylediğiniz mantıklı geldi, javascript ile yapacağım teşekkür ederim..