View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 25.03.2008   #9 (permalink)
gazanya
 
gazanya's Avatar
 
Üyelik Tarihi: 10.06.2007
Yer: Bursa
Mesaj: 8
Re: Bir kere veren bir daha vermesin ama nasıl?

Arkadaş doğru sölüyor, fesatlık bizde ki, bu başlığı görünce ne hayallerle açtık

Konu hakkında, şöyle bir mantık uygulayabilirsin;

ilk seçenek:

1. oy verme işlemini yapan ip numaralarını veritabanına kaydedersin.
2. oy verme işleminde aynı ip no varsa, işlemi yaptırmazsın, yoksa işlem yapar...

ikinci seçenek:

1. oy veren bilgisayara bir çerez atarsın,
2. oy verme esnasında bu çereze bakar, varsa oy veremez, yoksa oy verme işlemini yapar...

ben sana ikinci adımı öneririm. Çünkü, yüzbinlerce kullanıcının oy verdiğini bir düşünsene... ilk seçenekte, Sunucunda fazladan işlem yapmış olacaksın. İkinci seçenekte zaten, kullanıcının bilgisayarına iz bırakacan için fazla sıkıntı olmayacaktır.

Yok ben illa ilk seçenekte yapacam dersen, bazı kodlarla yardımcı olmaya çalışayım;

MySQL veritabanı yap ismi ipler olsun,
id ve ip alanları olsun...

Kod:
$kontrol="select * from ipler where ip='".$_SERVER['REMOTE_ADDR']."')";
mysql_select_db($database_oylama, $oylama);
$kontrolcu = mysql_query($kontrol,$oylama) or die (mysql_error());
$row_ipler = mysql_fetch_assoc($kontrolcu);
if($_SERVER['REMOTE_ADDR']==$row_ipler['ip']){

echo "Oy vermişsin. Kulağını çekerim bak. Bir daha verme";

}else{

// bu araya kendi komutlarını yaz...


// bu hölümde kullanıcının ip adresini veritabanına yazar.

$insertSQL="insert into ipler (ip) values('".$_SERVER['REMOTE_ADDR']."')";

  mysql_select_db($database_oylama, $oylama);
  $Result1 = mysql_query($insertSQL, $oylama) or die(mysql_error());

// ip adresini veritabanına kaydetti...

}
Bu kodları deneme vaktim olmadı. bazı değişikliklerle daha performanslı hale getirilebilir... Biz de acemiyiz daha


ikinci seçenek hakkında fazla bilgim yok....
__________________
Benim Bloğum
gazanya şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin