cookie sorusu.

sinem06sinem mai

merhaba sayfa her yenilendiğinde artıyor cookie tutmuyor neden olabilir 

if(!in_array($ilanoz['id'], explode('|', $_COOKIE['ilansayac']))){

//Mysql update

$yenihit=$ilanoz['hit']+1;

$hitle= "UPDATE ilan SET hit=$yenihit WHERE id=".$ilanoz['id']."";

$sonuc= mysql_query($hitle) ordie(mysql_error());

setcookie('ilansayac', $ilanoz['id'].'|'.$_COOKIE['ilansayac'], time()+(60*60*24), '/'); }


2014-02-18 18:49:58

Php

badyguard14Hilmi BORAN

Merhabalar,

Sorununu tam olarak çözemesemde tavsiye de bulunabilirim.Anladığım kadarıyla gerçek hit olayını yapmaya çalışıyorsun, session ve cookie tarayıcı bazlıdır yani ömürleri o tarayıcı ile global olarak sınırlıdır.Cookieye sadece ilan_id'yi atıp var mı yok mu kontrolunden geçirirsin yoksa hit=hit+1 querysi yaparsın hitin 1 artar.Varsa ki zaten bu işleme hiç etki etmez.Orda explode niye kullanıyorsun anlamadım, dediğim gibi değilse biraz daha açıklayıcı olursan yardımcı olmaya çalışırız :)

2014-02-18 19:56:15

sinem06sinem mai

explode kullanma amacım ziyaretçi diğer sayfaları gezdikçe birden fazla cookie oluşturmaktan ziyade tek cookie içinde barındırmak daha makbul olacaktır.

2014-02-18 20:05:10

Edit:

Php

badyguard14Hilmi BORAN

Hmm o zaman şöyle bir yolda kullanabilirsin cookiede bir array dizisinin json_encodelu olduğunu var sayalım  ve bu diziyi alıyorum:
$ar=json_decode($_cookie["ilan_ids"]);
if(!in_array($ilan_id,$ar)){
update set ilan hit=hit+1 where id=/ilan_id/
array_push($ar,$ilan_id);
setcookie('ilan_ids',json_encode($ar),time()+360);
}

amaç arrayın jsonlanıp cookieye atılması böyle daha hızlı çözüm bulabilirsin.

2014-02-18 20:22:27

Php

sinem06sinem mai

doğru fakat buna biraz strateji eklemek gerekir. senin kodlarına göre bir ilan okuduğunda 1 artırır fakat başka bir ilanı okuduğunda işlem yapmayacaktır ;)

2014-02-18 22:19:46

revision

badyguard14Hilmi BORAN

Kodları tam incelemişsiniz galiba arrayda tutuluyor ilan_idleri yani diyelim ki 1 idli ilandayım arraya 1 girecek, sonrasında 2 idliyi okuyorum diyelim array bu sefer 1,2 değerlerini tutacak bunları jsonlu halde atacaksın cookieye kontrol ederken decode yapıp in_arraydan geçireceksin ki şuan ki hali ile mini sistemler için iş görür, ama büyük sistemler için Ali Bey'in de dediği gibi cookie kasar.

2014-02-19 22:04:19

Php

alicilinAli Fırat Güler

Ya kullanıcı 15.000 tane ilan okuduysa ? Cookie'nin veri kapasitesi sınırlı malesef. 15.000 konunun id numarasını cookie'de tutamazsınız. bunun yerine. kullanıcının ip adresini ve okuduğu konunun id numarasını başka bir tabloda tutarsanız. Ve bu tabloda yoksa ekler ve hiti bir arttırır, varsa işlem yapmazsınız. İstediğiniz gerçek hit olayını gerçekleştirirsiniz.

2014-02-19 13:02:24

Php

sinem06sinem mai

1-bana bir kullanıcı göster bırak 15 bini 150 tane ilan okuyan.

2-id numarasını tabiki cookie de tutabilirsiniz

3-mysql ile işlem yapmak sayfayı yoracaktır

saygılarımla

2014-02-19 15:48:08

Edit:

Php

TeaMTurkeRŞenol TÜRKER

Merakimi mazur görün kaç yıldır yazılım sektöründesiniz acaba sinem hanım? 

2014-02-20 13:08:17

Php

sinem06sinem mai

1 yıldır sadece ilgileniyorum sektör olarak değil

2014-02-20 13:10:48

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro