Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

sql sorgusunda anlamadığım sorun

Konu, 'PHP' kısmında kanzuk tarafından paylaşıldı.

  1. kanzuk

    kanzuk Üye

    Kayıt:
    30 Kasım 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    arkadaşlar bu kodda nerede hata yaptım anlamadım
    ip adresimi değiştirip denediğimde puan eklemiyor
    sadece bir kez ekledi ve daha henüz eklediğini görmedim.
    <?php
    //db bağlantısı var sayalım
    $id = $_GET["id"];
    $ip= $_SERVER['REMOTE_ADDR'];
    $sorgu = mysql_query("SELECT * FROM tablo WHERE id='$id'");
    $rs = mysql_fetch_assoc($sorgu);
    $ipkontrol = mysql_query("SELECT * FROM tablo WHERE id='$id' AND ip='$ip'");
    if (mysql_num_rows($ipkontrol) == 1) {
    echo "Daha Önce Puan Verdiniz.";
    } else {
    $yeni_puan = 1 + $rs['puan'];
    mysql_query("UPDATE tablo SET puan = '$yeni_puan', ip = '$ip' WHERE id='$id'");
    echo "Puan Eklendi.";
    }
    ?>
     
  2. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    PHP:
    <?php
    //db bağlantısı var sayalım
    $id $_GET["id"];
    $ip$_SERVER['REMOTE_ADDR'];
    //$sorgu = mysql_query("SELECT * FROM tablo WHERE id='$id'"); gerek yok
    //$rs = mysql_fetch_assoc($sorgu); gerek yok
    $ipkontrol mysql_query("SELECT * FROM tablo WHERE id='$id' AND ip='$ip'");
    if (
    $say mysql_num_rows($ipkontrol) > 1) {
    echo 
    "Daha Önce Puan Verdiniz.";
    } else {
    //$yeni_puan = 1 + $rs['puan']; gerek yok
    mysql_query("UPDATE tablo SET puan = puan + 1  WHERE id='$id'");
    echo 
    "Puan Eklendi.";
    }
    ?>
     
  3. kanzuk

    kanzuk Üye

    Kayıt:
    30 Kasım 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    blunight teşekkürler
    kafamı karıştıran bir şey var
    if ($say = mysql_num_rows($ipkontrol) > 1)
    yukardaki sorguda 2 kayıt varsa "Daha Önce Puan Verdiniz."yazısını çıkarmıyormu?
    [COLOR=#007700]
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]çünkü kayıt sayısı > 1 olduğundan böyle bir soru sordum
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]asp den php ye geçiş yaptığımdan bazı şeyler kafamı karıştırıyor.
    [FONT=Courier New][COLOR=black][COLOR=#007700]
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]bir de SQL sorgularında sayı değişkeni ve metin değişkeni için farklı tırnak kullanma olayı php de varmı?
    [FONT=Courier New][COLOR=black][COLOR=#007700]
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]örnekğin asp de
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]sayı için: (WHERE di=1)
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]sayı değişkeni için: ""(WHERE id=" & sayi_degiskeni & ")
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]metin için: '' (WHERE isim='ali')
    [FONT=Courier New][COLOR=black][COLOR=#007700][COLOR=#dd0000]metin değişkeni için: (WHERE isim='" & metin_degiskeni & "')
    [FONT=Courier New][COLOR=#007700][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/FONT][/COLOR]
     
  4. kanzuk

    kanzuk Üye

    Kayıt:
    30 Kasım 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    şimdi sorunun neden kaynaklandığını tespit ettim
    aslında kodlarda problem yok

    $_SERVER['REMOTE_ADDR']; ile ip adresini çağırdığımda 72.55.170.230 sürekli bu ip çıkıyor.
    bu da kullanıcının ip adresi değil, hosting firmasının ip adresi :S
    ama bana her kullanıcıyı ayıort edebilmesi için kullanıcının ip adresini kayıt etmesi gerekiyor
    bunun için ne yapmalıyım? bilgisi olan var mı?
     
  5. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    Yanlışın var bu kod kullanıcının ip adresini verir, Sunucunun değil.
    tekrardan kontrol et. IP adresin sabit adres olablir.
    php versiyonun kac bu arada ?
     
  6. kanzuk

    kanzuk Üye

    Kayıt:
    30 Kasım 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    sanırım PHP5

    tıkla ve sonucu gör
    sayfanın içine şu kodu yazdım:
    "72.55.170.230" ip adresi yazıcak