Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » Bir kere veren bir daha vermesin ama nasıl?


Yanıt
 
LinkBack Seçenekler
Old 16.03.2008   #1 (permalink)
angle
 
Üyelik Tarihi: 27.07.2007
Yer: ankara
Yaş: 28
Mesaj: 23
Bir kere veren bir daha vermesin ama nasıl?

PHP Code:
<?PHP
    defined 
('_VALID_MOS') or die( 'Direct Access to this location is not allowed.' );



    
$database->setQuery"SELECT imgvotes, imgvotesum FROM #__productbook WHERE id = '$id'" );

    
$result1=$database->query();



    list( 
$imgvotes$imgvotesum )=mysql_fetch_row$result1 );



    
$imgvotes++;

    
$imgvotesum=$imgvotesum $imgvote;



   
$database->setQuery"UPDATE #__productbook SET imgvotes='$imgvotes', imgvotesum='$imgvotesum' WHERE id=$id" );

    
$database->query();

        echo 
"<script> alert('".$PRODUBK->PRODUBK_0031."');

        document.location.href='"
.sefRelToAbs("index.PHP?option=com_productbook&func=detail&Itemid=$Itemid&id=$id")."';</script>";



?>
PRODUBK_0031 -->burda oyunuz başarı ile eklendi diyor.
Ben bu PHP dosyasına ne eklersem bir kere oy veren ikinci kere vermeye çalıştığında oy kullandınız mesajını versin
angle şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 16.03.2008   #2 (permalink)
ugursamsa
 
ugursamsa's Avatar
 
Üyelik Tarihi: 06.05.2007
Yer: İzmir
Yaş: 22
Mesaj: 429
Görsel: 2
Re: Bir kere veren bir daha vermesin ama nasıl?

<konu dışı>Bir başlık ancak bu kadar ilgi çekici olabilir </konu dışı>
__________________
Kişisel-Java & Python-Oktay Usta
ugursamsa şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 16.03.2008   #3 (permalink)
mow
 
Üyelik Tarihi: 28.03.2003
Yer: İzmir
Yaş: 25
Mesaj: 730
Re: Bir kere veren bir daha vermesin ama nasıl?

Açıkçası ben başlığı görünce önce bir permutasyon sorusu zannettim daha sonra cinsellik içeren bir şey yaşlandım herhalde.

COOKIE ile yapabilirsin, http://tr2.php.net/manual/en/function.setcookie.php
mow şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.03.2008   #4 (permalink)
angle
 
Üyelik Tarihi: 27.07.2007
Yer: ankara
Yaş: 28
Mesaj: 23
Re: Bir kere veren bir daha vermesin ama nasıl?

bunu nasıl yaparız?
ne eklemem gerekli.yardımcı olursanız çok sevinirim.
angle şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.03.2008   #5 (permalink)
albay
 
albay's Avatar
 
Üyelik Tarihi: 09.05.2007
Yer: İzmir
Yaş: 17
Mesaj: 115
Re: Bir kere veren bir daha vermesin ama nasıl?

genel mantık olarak mysql_num_rows ile daha önce istediğimiz koşula sahip olan bir kayıt var mı yok mu kontrol edip if ile 0 yada 1 sonucu ile işlemi yapmasını denetleriz.. aşağıdaki gibi

PHP Code:
<?PHP
    defined 
('_VALID_MOS') or die( 'Direct Access to this location is not allowed.' );
    
$kontrol $database->setQuery"SELECT imgvotes, imgvotesum FROM #__productbook WHERE id = '$id'" );
    if(
mysql_num_rows($kontrol)==0){

    
$database->setQuery"SELECT imgvotes, imgvotesum FROM #__productbook WHERE id = '$id'" );

    
$result1=$database->query();



    list( 
$imgvotes$imgvotesum )=mysql_fetch_row$result1 );



    
$imgvotes++;

    
$imgvotesum=$imgvotesum $imgvote;



   
$database->setQuery"UPDATE #__productbook SET imgvotes='$imgvotes', imgvotesum='$imgvotesum' WHERE id=$id" );

    
$database->query();

        echo 
"<script> alert('".$PRODUBK->PRODUBK_0031."');

        document.location.href='"
.sefRelToAbs("index.PHP?option=com_productbook&func=detail&Itemid=$Itemid&id=$id")."';</script>";


    }
?>
__________________
SHE-KER Networks
albay şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.03.2008   #6 (permalink)
Se7en
 
Se7en's Avatar
 
Üyelik Tarihi: 26.03.2001
Yer: IstanbuL
Yaş: 25
Mesaj: 1,249
Görsel: 31
Re: Bir kere veren bir daha vermesin ama nasıl?

Şimdi bir cevap verecektim Başlık süper, keşke yardımcı da olabilseydim
Se7en şu an çevrimiçi  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.03.2008   #7 (permalink)
albay
 
albay's Avatar
 
Üyelik Tarihi: 09.05.2007
Yer: İzmir
Yaş: 17
Mesaj: 115
Re: Bir kere veren bir daha vermesin ama nasıl?

bence çokta takılınması gereken bir şey değil başlık.. ben içinde kötü niyet göremediğim için farklı bir anlam çıkarılmasını doğru bulmuyorum..

amacım kimseyle ters düşmek değil ancak şuda unutulmamalı ki insan kendisi nasılsa, başkasınıda öyle zanneder...
__________________
SHE-KER Networks
albay şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.03.2008   #8 (permalink)
Se7en
 
Se7en's Avatar
 
Üyelik Tarihi: 26.03.2001
Yer: IstanbuL
Yaş: 25
Mesaj: 1,249
Görsel: 31
Re: Bir kere veren bir daha vermesin ama nasıl?

sorun orada zaten fesatlık bizde
Se7en şu an çevrimiçi  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
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ışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.03.2008   #10 (permalink)
cgencer
 
cgencer's Avatar
 
Üyelik Tarihi: 02.08.2001
Yer: istanbul
Yaş: 37
Mesaj: 1,535
Re: Bir kere veren bir daha vermesin ama nasıl?

a. cookie herkeste ya da her cihazda açık olmayabilir... cookie olmaması durumu için alternatif bir yol olmalı. ayrıca cookie inatçı kişiler tarafından silinebilir...

b. herkes sabit ip ile değil; bu yüzden aynı ip olayı da sakat olacaktır.

c. veritabanında tutmak sağlıklı, ama cookie'ye de bununla ilgili bir bilgi kaydetmek gerek.

d. PHP session id gibi session bazlı bir kayıt tutman gerekir.

önerim...
db'de session id tut, her oy verene zaman limiti tanımla (30 dakika oy veremesin), session id'ler unique olsun db'de, böylece tekrar edilmez. cookie sadece bu oylamaya yönelik session id'lerini tutsun, aynı session id'yi başka yerde de kullanman ufak bir güvenlik açığı (session id çalma) oluşturabilir. ip'leri okurken de proxy kontrolünden geçiren kısa fonksiyonlar var, proxy arkasındaki gerçek ip'sini bulmayı sağlayan. onu da kullan.
__________________
obsesif v2 + daha iyi net + uçuca + facebook + linkedin
cgencer şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Yanıt

Etiketler
oylama



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server