lostyazilim
tr.link

PHP Mantık sorusu yardım

10 Mesajlar 1.369 Okunma
lstbozum
tr.link

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)
Arkadaşlar mantığını soracağım ona göre kodlama yapacağım

şimdi bir buton düşünün bu butona 1 saatte bir basılacak

cookie ile yapsam sıkıntı adam temizler yine basar

mantığı nasıl yapayım saolun veritabanı kullanacağım
 

 

wmaraci
reklam

ntka ntka https://ntka.org Kullanıcı
  • Üyelik 22.01.2012
  • Yaş/Cinsiyet 42 / E
  • Meslek Agent
  • Konum İstanbul Anadolu
  • Ad Soyad N** T**
  • Mesajlar 2762
  • Beğeniler 811 / 810
  • Ticaret 262, (%100)
ip adresi ve tarih saat kontrolü yaptır tabi yapabilirsen.
 

 

dijitalsite.com.tr ister al / ister sat / yeni üyelere 20 tl bakiye hediye

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
scheduler job .. zamanlanmış işlemler..

php de cron job.

cronjob saatte bir çalışacak şekilde ayarlanır, saatte bir basit bir http istek ile varolan butona basılacak client kodu yeterli olacaktır.
esernet1

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)
üyelere bastıracaksın anladığım kadarıyla. her basışta üye id ve time stamp gir veritabanına. buton basıldıktan sonra veritabanından denetlemeni yaptır.
esernet1

kişi bu mesajı beğendi.

wmaraci
wmaraci

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)

pg13 adlı üyeden alıntı

üyelere bastıracaksın anladığım kadarıyla. her basışta üye id ve time stamp gir veritabanına. buton basıldıktan sonra veritabanından denetlemeni yaptır.




şimdi cronjob ve diğer jobs benzeri fonksiyonlarına gerek yok bu modülde üyeler basacağı için

kendim yaptığım şu
o anki saati kaydettim sonra bir saat ileriyi bulup bu saate kadar bir şey yapma dedim fakat şöyle bir sıkıntı var adam 1 saat sonra diyelim ki saat 12 de bastı 13:00 ile şu an ki zaman eşitlenince butonu aç dedim fakat bu sefer 13:01 olduğunda tekrar kapanacak :)

Ek Olarak:

ntka adlı üyeden alıntı

ip adresi ve tarih saat kontrolü yaptır tabi yapabilirsen.



Neden yapamayayım ki ?

sadece ortada bir mantık sorunu var

adamın ip sini alsam o an ondan başkası basmasın demek için ama ona gerek yok

çünkü üyelik yaptım kullanıcı adı kullanıyorum

tarih ve saat zaten yaptığım bir şeydi fakat famı karıştıran nedenler var
 

 

alidebre alidebre www.alidebre.com Kullanıcı
  • Üyelik 26.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar/Web Programclığı
  • Konum Manisa
  • Ad Soyad A** D**
  • Mesajlar 257
  • Beğeniler 8 / 46
  • Ticaret 0, (%0)
Siz kullanıcı bastığında zamanı kaydettiyseniz tamamdır nerdeyse sadece o zamanın üzerine +1day ekleyip iki zamanı bir birinle karşılaştırın eğer zaman +1day ekli zamandan küçük ise butona basmasın kapalı yap eğer değilse buton açık olsun
 

 

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)

alidebre adlı üyeden alıntı

Siz kullanıcı bastığında zamanı kaydettiyseniz tamamdır nerdeyse sadece o zamanın üzerine +1day ekleyip iki zamanı bir birinle karşılaştırın eğer zaman +1day ekli zamandan küçük ise butona basmasın kapalı yap eğer değilse buton açık olsun




aslında kontrolüde yaptım fakat tarih küçükse büyükse yapamadım desem yeridir

eşitseyi yaptım yani eşit olunca işlem yapıyor fakat bana o tarih bastğım saatten 1 saat sonrasını geçtiyse gibi bir şey lazım
 

 

alidebre alidebre www.alidebre.com Kullanıcı
  • Üyelik 26.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar/Web Programclığı
  • Konum Manisa
  • Ad Soyad A** D**
  • Mesajlar 257
  • Beğeniler 8 / 46
  • Ticaret 0, (%0)

$tiklama_tarihi = "18-9-2015 10:17";

$suanki_tarih = DateTime::createFromFormat('d-m-Y h:i', date("d-m-Y h:i"));
$tiklama_sonu = DateTime::createFromFormat('d-m-Y h:i', $tiklama_tarihi);
$tiklama_sonu -> modify('+1 day');

if($suanki_tarih < $tiklama_sonu)
echo "!!! Zaman Dolmadı !!!";
else
echo "Zamanınız Doldu";

echo "

Tıklama Zamanı: ".$tiklama_tarihi."

Tıklama Bitiş Zamanı: ".date_format($tiklama_sonu, 'd-m-Y h:i')."

Suanki Tarih: ".date_format($suanki_tarih, 'd-m-Y h:i');
?>
esernet1

kişi bu mesajı beğendi.

BatuhanUyar BatuhanUyar Copyright Kullanıcı
  • Üyelik 24.06.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP
  • Konum Ankara
  • Ad Soyad B** U**
  • Mesajlar 587
  • Beğeniler 11 / 112
  • Ticaret 2, (%100)
$id = $_SESSION['idmiz'];
$get_users_sql = mysql_query("SELECT * FROM users where low='$id'");
while($row=mysql_fetch_assoc($get_users_sql))
{


$zaman = $row['lastsubmit'];
$limit = $zaman-time();
if ($limit > 0){
return 'time';
}


bu mantığı dene
esernet1

kişi bu mesajı beğendi.

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)

alidebre adlı üyeden alıntı


$tiklama_tarihi = "18-9-2015 10:17";

$suanki_tarih = DateTime::createFromFormat('d-m-Y h:i', date("d-m-Y h:i"));
$tiklama_sonu = DateTime::createFromFormat('d-m-Y h:i', $tiklama_tarihi);
$tiklama_sonu -> modify('+1 day');

if($suanki_tarih < $tiklama_sonu)
echo "!!! Zaman Dolmadı !!!";
else
echo "Zamanınız Doldu";

echo "

Tıklama Zamanı: ".$tiklama_tarihi."

Tıklama Bitiş Zamanı: ".date_format($tiklama_sonu, 'd-m-Y h:i')."

Suanki Tarih: ".date_format($suanki_tarih, 'd-m-Y h:i');
?>



tamam bunu deneyeceğim

Ek Olarak:

BatuhanUyar adlı üyeden alıntı

$id = $_SESSION['idmiz'];
$get_users_sql = mysql_query("SELECT * FROM users where low='$id'");
while($row=mysql_fetch_assoc($get_users_sql))
{


$zaman = $row['lastsubmit'];
$limit = $zaman-time();
if ($limit > 0){
return 'time';
}


bu mantığı dene



sizin mantıkta güzel

Neden bu şekilde saat fonksiyonlarında sıkıntı yaşıyoruz coderler olarak anlamış değilim

date time yada strotime çevirip işlemler yapılır direk date üstünden sıkıntı oluyor

kolay gibi gözüksede en çok sıkıntı yaşadığımız yer 1. karakter setleri 2. olarak saat fonksiyonları bence :) hadi hayırlısı akşama çalışacağım sonuçları yazarım



Ek Olarak: ek olarak şöyle bir fonksiyon oluşturdum ilk önce dakikayı saniyeye çevirdim yani düz bir sayı elde ettim daha sonra bu saniyeden 3600 yani 1 saat olarak sayacak şekilde yaptım if ile eğer 3600 esit yada büyükse göster değilse gösterme yaptım hepinize teşekkür ederim yardımcı olmaya çalıştınız kodları paylaşıyorum başka birine lazım olur




$tiklanansaat = '21.00.00';

$tiklanansaat2 = date('H.i.s', time() + 60*60-3590);


$ilksaatstr=strtotime($tiklanansaat);

$sonsaatstr=strtotime($tiklanansaat2);//aynı şekilde saatleride strtotime liyoırum

$fark=$sonsaatstr-$ilksaatstr;//sondan ilki çıkarıyom direk bize saniyeyi verecek

echo $fark ;

if($fark >= '3600'){
echo 'tamam tıkla';

}else{

echo 'olmadı hocam';


}
 

 

wmaraci
wmaraci
Konuyu toplam 3 kişi okuyor. (0 kullanıcı ve 3 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al