Kardeşim Çok Başarılısın, Daha da Başarılı Olacaksın.
Şimdiden Seni Kutlarım... ;)
Teşşekkür ederim. Umarım hep beraber birşeyleri başaracağız.
Uygulama daha güzel olmuş, teşekürler. İsterseniz aşağıdaki kodu da ekleyebilirsiniz. Birkaç hafta önce biyerlerden bulmuştum. Kullanıcı High Anonymous Proxy kullanmadığı sürece gerçek IP`si ortaya çıkıyor.:
private string GetIPAddress()
{
string sIPAddress = null;
sIPAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(sIPAddress)) sIPAddress = Request.ServerVariables["REMOTE_ADDR"];
return sIPAddress;
}
Daha gerçekçi kontrol için kullanılabilir. Bilgi ve kodlar için teşekkür ederim.
Merhaba arkadaşlar, yazmış olduğunuz Ip çekme yöntemleri genellikle hosting firmalarının güvenlik ve performans artırma çalışmaları için sanal proxy kullanmaları dolayısı ile çalışmayacaktır. Sonra insanlar bu gibi sorunları kendi hatalarından kaynaklandığını düşünerek yazdıkları kodları kurcalayıp duruyorlar. Bu gibi durumlarda server kendi Ip Adresini görüntüleyecektir. Bilginize...
Yaptığım uygulamanın çalışır hali var ve arada bakıyorum dediğin gibi bir problem yok. Olsa bile server dediğimiz bir makine ve istediğimiz ayarları yaptırma hakkımız var. Onun için problem olacağını düşünmüyorum.
HasanG
12 Aralık Cumartesi 2009 15:11
#7
Mehmet merhaba,
Sormak istediğim birşey var yine. Bu yorumlama kısmında küçük bir sorun var. Yıldızlara defalarca tıkladığımızda istek de defalarca sunucuya gitmekte ve hoş bir kullanım olmamakta. biyerlerde .stop() kullanmam(ız) gerek. Eğer bunu çözebilirsen paylaşabilirmisin? Sitende de aynı sorunun olduğunu görüyorum.
Dediğin sorun sanırım örnekte var ama şu anda sitemdeki kullanımda böyle bir durum yok. stop() fonksiyonu yerine kendi kontrolümü yapıyorum. Sayfa load olduğunda servera 1 istekten sonra bir daha istek yapılamıyor (oylama için). Zamanında örneği o şekilde hazırlamış olabilirim ama zamanla değişiyor. Şu anda kullandığım bölümde öyle bir sorun söz konusu değil.
Merhabalar ben örneği indirdim kendimde uyguladım...
var product_id = <%= product_id %>;
Burada yapmaya çalıştığımız şey QueryString bilgisini almak sanırım..ve bu satırda hata alıyorum..Jquery dahilinde Querystring verisini almak için kullanılan bir yönetm mi bu yoksa ayrı bir plugin falan mı var?
Çalışan uygulamayı ekledim diyeceksiniz haklısınız ancak dosyalardaki detail.aspx sayfasını açıncada bu satırın altı çiziliyor.
Yardımcı olursan sevinirim..İyi günler iyi çalışmalar
Merhaba. Şu anda kodları tam hatırlamıyorum ama buradaki değer sayfanın kod bölümünde tanımladığım genel bir değişken olan product_id değeridir. Özel bir plugin falan değildir. Sadece server tarafında tanımlanan ve değer alan public bir değişkenin değerini script bir değişkene atıyorum. Hata vermemesi gerekir.
Bilgi için teşekkürler..ben url deki querystring bilgisini alıyoruz sanmıştım ancak codebehind da bulunan değeri alıyomuşuz..Tekrardan teşekkürler iyi günler
Söylediğin doğru. Burada aldığımız değer Querystring'ten gelen değer. Bu değeri bu şekilde server tarafında alıp, script değişkene atadım. Ancak server tarafı olmadan direk olarak script tarafında da alabiliriz.
Merhaba, uygulamayı kendi sistemime uygulamaya çalışıyorum.detail.aspx sayfasındaki
var product_id = <%= product_id %>;
<%= product_id %>; bunu nerede oluşturuyoruz acaba?
Merhaba. Orada <%= product_id %> ifadesi ile çağırdımız değer sayfanın kod tarafında tanımlanan public bir değişken ve bu değişken değerini page_Load içinde url'deki değerdan alıyor. Ben örnekte bu şekilde kullanmışım. Ancak bunun yerine script değişkene değer atarken server taraflı değişken kullanmadan direk <%= Request.QueryString["isim"] %> gibi de yapabiliriz.
Şu makaleyi, video gösterim şeklinde anlatmanız mümkünü? Bu kodları ben çalıştıramıyorum.
function rate(score, product_id)
{
$.ajax({
type: "POST",
url: "rate.asmx/rate_product",
data: "{HataOylamaSayisi:"+score+", HataID:"+product_id+"}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg){
$("#result").fadeOut(300).fadeIn(function(){$(this).html(msg.d), 300}
Şu anda video hazırlayacak vaktim yok. Hatta bloğumla bile çok fazla ilgilenemiyorum. Neden çalıştırmadığını bulman lazım veya aldığın hatanın nedeni nedir. Bunları anlayabilmek için ise Firefox'un Firebug eklentisini kullanmanı tavsiye ederim. Onunla Ajax işlemlerini ve script kodlarını takip edebilirsin.
ali
21 Mayıs Cuma 2010 00:15
#17
merhaba.Burada veritabanında ip yi tutmanızın mantığını çözemedim.Yani her oy verenin ip sini mi tutuyorsunuz.her bir ürün için tek bir ip kolonu var.
yani ben oy verdim benim ip numaramı aldınız veritabanına yazdınız.ikinci oyda oy veremiyorum.ama benden sonra bir kisi gelip oy verdiyse o alan onun ip numarasını yazıyor ve benim ipim ile eşleşmediğinden ben oy verebiliyorum mantığı çıkıyor.yanlış mı düşünüyorum.biraz detay vere bilir misiniz??
ali
21 Mayıs Cuma 2010 00:23
#18
pardon siz veritabanı için aynı satırda update değilde insert into yapıyorsunuz.yani 1 numaralı ürün için oy verenlerin ip numaralarını yazıyosunuz.ama bu sefer de veritabanına durduk yere şişme ve yer kaplama anlamına gelmez mi?bunun yerine global ip tanımlayıp sayfa yüklenirken olusan ip ile o yıldızlara tıklarken ki ip yi karşılaştırmak mantıkllı olur mu?eğer mentıklıysa ilk karşılaştırmada izn verip ikinci de izin vermeyen bir yapı c# ile nasıl yazılabilir?
ali
21 Mayıs Cuma 2010 00:38
#19
hazır aklıma gelmişken bir soru daha sorayım.gridview içerisinde imagebutonum var gridview da updatepanelin içinde.
imagebutonu click eventına basit bir kod yazdım.ama sayfayı çalıştırdıktan sonra o imagebutona tıklaadığımda javascript çalışma hatası gibi birşey çıkıyor visual studio da throw error kısmın işsret ediyor.Acaba bu neden kaynaklanıyor.kod kısmında kaynaklnmadıgından eminim.Şimdiden herşey için tesekkurler.
Merhaba. Öncelikle yanlış düşündüğünü belirteyim. Burada IP kontrolü yaparken her oylama yapan için veritabanı tablosuna IP'si ile oyladığı ürün bilgisini ekliyoruz (güncellemiyoruz). Oylama yapmadan önce kullanıcının IP'sini ve oyladığı ürün bilgisinin daha önce olup olmadığını veritabanında sorgulatıp bu sorgu sonucuna göre oylama yapılıyor veya yapılmıyor. Durum kısaca böyle. Bu yöntem veritabanına yük bindirse de kullanılabilecek yöntemlerden biri. Sen kendi yöntemini uyarlayabilirsen kullanabilirsin. Tamamen sana kalmış bir iş. IP olmadan cookie ile de gerçekleştirilebilir. Bunun örneğini de sitemde bulabilirsin.
Microsoft'un Ajax kütüphanesini fazla kullanmadım. Ben jQuery ile Ajax uygulamaları geliştiriyorum. Onun için bu konuda kodları da görmeden birşey söyleyemem. Ancak Script hatalarını görmek ve değerlendirmek için Firefox'un FireBug eklentisini kullanmanı tavsiye ederim.
ali
21 Mayıs Cuma 2010 16:52
#22
ben sedece üyelerin oy kullanmasına izin vereceğim o zaman ip kontrolünün bir önemi kalmıyor.(veritabanına yazdıracağım için)yani ürün id ile kullanıcı id yi ilişkilendirmiş oluyorum.Peki sence büyük bir site için ve sadece üyelerin oy verebileceği bir site için cookie mi yoksa ip mi daha etkili olur?
Eğer üyelik sistemi olan bir sisteme böyle birşey ekleyeceksen bence her üyenin bilgisini veritabanında tutsan daha iyi olur. Veriler çok tutarlı olur. Cookie ile yapılan işlemlerde cookie silinerek tekrar tekrar işlem yapılabilir ama üyenin bilgisi ile işlem yaparsan her üye her zaman tek bir kez oylama yapar.
Peki elinizde örneğin sizin yorum bölümü, yorum satırları gibi bir çalışma var mı Mehmet bey ?
@Samet, elimde yorum bölümü var ama paylaşacak durumda değilim. Ama sitemde paylaştığım örnekler böyle uygulamaları geliştirebilmek için iyi bir referans konumunda diye düşünüyorum.