Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Sayac ve cookie?

i.ari

0
Onaylı Üye
Üye
Katılım
16 Aralık 2006
Mesajlar
4,437
Açılan Konu
534
Tepki puanı
6
Konum
Ankara
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?
 

Alexis

0
Onaylı Üye
Üye
Katılım
24 Ekim 2005
Mesajlar
678
Açılan Konu
64
Tepki puanı
5
Daha önce yapmıştım, ama ben kullanıcı tercihlerini tutuyordum çerez de. Sizin ki daha basit, hatta o kadar basit ki yanlış anladığımı bile düşünüyorum, acaba daha karmaşık bir sosu mu sordunuz?

Ben olsam şu mantık ile hareket ederdim: Eğer çerez varsa update yapma, eğer çerez yoksa update yap ve bir tane çerez at kullanıcıya.
 

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
Kod:
if (!isset($_COOKIE['sayac'])) { 
$_COOKIE['sayac']=1; 
} else {
$_COOKIE['sayac']=$_COOKIE['sayac']++;
}

echo $_COOKIE['sayac'].' kere görüntülendi.';

Denemedim ama çalışması lazım.
 

i.ari

0
Onaylı Üye
Üye
Katılım
16 Aralık 2006
Mesajlar
4,437
Açılan Konu
534
Tepki puanı
6
Konum
Ankara
Şöyle bir kod kullanıyorum.

PHP:
<?php
$sayacid = "haber".$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
{
}
?>
 

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
Kod:
<?
$sayacid = "haber".$haber_id;
setcookie($sayacid,"1",time()+3600);

if($_COOKIE[$sayacid]=="")
{
$_COOKIE['say'.$sayacid]=1; 
$is_basarili = "UPDATE haber SET sayac=sayac+1 WHERE haber_id=$haber_id";
$sonuc = mysql_query($is_basarili) or die(mysql_error()); 
}
else
{
$_COOKIE['say'.$sayacid]=$_COOKIE['say'.$sayacid]++;
}

echo $_COOKIE['say'.$sayacid];
?>

UPDATE sql çalıştırırken, sütunadı=sütunadı+1 olarakta 1 arttırabilirsiniz. Değişkene atayıp, ayrıca php ile +1 ekletmenize gerek yok.
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
setcookie() kullanımı gerekiyor, $_COOKIE = '' değil
 

i.ari

0
Onaylı Üye
Üye
Katılım
16 Aralık 2006
Mesajlar
4,437
Açılan Konu
534
Tepki puanı
6
Konum
Ankara
hala aynı her defasında sayıyor
 
Üst