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....