Merhaba arkadaşlar,
bir konunun kaç defa okundugunu yazdırmak istiyorum.
update komutu ile kac defa bakıldıgını görebilirim ama benim istedigim kişiye cookie atıp bir daha sayfayı yenilediginde sayacın artmamasını istiyorum.
Bunu nasıl yapabilrim?
Sayac ve cookie?
11
●1.582
- 10-07-2009, 12:24:42Üyeliği durduruldusetcookie("sayac","0",time()+600*600);
if($_COOKIE["sayac"]==""){
#update
} - 10-07-2009, 12:59:11Tşk.ler
<?php setcookie("sayac2","0",time()+600*600); if($_COOKIE["sayac2"]=="") { echo "cookie Yok"; } else { echo "cookie var"; } ?>böyle kod kullandım.
Aşagıdaki hatayı veriyor acaba neden?
Cookie olmadıgı anda sayfayı yeniledigimde cookie oluyor ve hata vermiyor
Notice: Undefined index: sayac2 in C:\wamp\www\nurettin\sayac.php on line 4 cookie Yok
- 10-07-2009, 13:41:24evet doğru diyorsunEnigmatic adlı üyeden alıntı: mesajı görüntüle
setcookie("sayac2" kısmınıa sayac$id şeklinde yapacagım
hata vermesinin sebebini merak ettim. Bir şey varki veriyor :S
Aşağıdaki gibi bir sistem yaptım ama her defasında kayıt sayac artıyor sizce neden olabilir?
$sayacid = "haber".$id; setcookie($sayacid,"1",time()+3600); if($_COOKIE[$sayacid]=="") { $sayac = $sayac + 1 ; $is_basarili = "UPDATE haber SET sayac=$sayac WHERE haber_id=$haber_id"; $sonuc = mysql_query($is_basarili) or die(mysql_error()); } else { } ?> - 11-07-2009, 12:57:25Hocam mantık basit aslında, şöyle bi kod işini görecektir
<? setcookie($konu_id, '1', time()3600*3600); if(empty($_COOKIE['konuid'])){ print 'Bo kunu daha önce okunmadı'; // Bu kısma mysql sorgularını yazarsın, hiti arttırırsın falan.. }else{ print 'bu konu daha önce okundu'; } - 11-07-2009, 15:11:23Bu şekilde bir sürü cookie atmış oluyorsun. Kişi 50 konu okursa 50 adet cookie olmuş olacak şöyle yaparsan tek cookie ile işi bitirirsin.
<?php if(!in_array($id, explode('|', $_COOKIE['konu_okuma_sayaci']))){ //Mysql update setcookie('konu_okuma_sayaci', $id.'|'.$_COOKIE['konu_okuma_sayaci'], time()+86400, '/'); } ?>
