PHP Yardım [Eregi]

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    Selam müridler,

    Aynı ip´den, aynı oyuna yorum yapıldığında kabul etmemesini istiyorum.

    "Daha önce bu oyuna yorum yaptınız" gibi bir uyarı..

     

    comments tablosunun içinde yorumlar; oyun id´leri "gameid" , ip adresi ise, "ip" şeklinde kaydediliyor.

    Bunun için eregi fonksiyonunu buldum ama yazamadım. Yardımınız lazım.

     

     if ( eregi( BURAYA YAZAMADIM - AYNI IP VE OYUNID´SİNE 1 DÖNDÜRSÜN )
            {
                echo $yorumyaptiniz;
                exit( );
            }

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    $kisiipsi=ipsini değişkene at

    $oyunidsi = burayada yorum atmaya calıstığı oyunun idsini at

    $sorgu=mysql_query("select * from comments where ip=$kişiipsi && gameid=$oyunidsi");

    eğer sorgu nullsa insert sorgunu çalıştır  değilse  

    echo 'bu oyuna daha önceden yorum attınız' ;  

    FCN tarafından 17/May/13 18:23 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek
    FCN bunu yazdı

    $kisiipsi=ipsini değişkene at

    $oyunidsi = burayada yorum atmaya calıstığı oyunun idsini at

    $sorgu=mysql_query("select * from comments where ip=$kişiipsi && gameid=$oyunidsi");

    eğer sorgu nullsa insert sorgunu çalıştır  değilse  

    echo 'bu oyuna daha önceden yorum attınız' ;  

    Yaptım hocam ama bi yerde yanlış yapıyorum heralde olmuyo,

     

    $sorgu=mysql_query("select * from comments where ip=$ip && gameid=$gameid");

    if($sorgu!="" )

    {

    echo 'Daha önce yorum attınız';

    exit();

    }

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    $sql=mysql_query("select * from comments where ip='$ip' and gameid='$gameid'");

    $count=mysql_num_rows($sql);

    if($count >= 1){

    echo 'yazamazsin.';

    }else{

    echo 'yazabilirsin.';

    }

    edit: ters olmuş.

    Hybris tarafından 17/May/13 20:02 tarihinde düzenlenmiştir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek
    bilenyok bunu yazdı
    FCN bunu yazdı

    $kisiipsi=ipsini değişkene at

    $oyunidsi = burayada yorum atmaya calıstığı oyunun idsini at

    $sorgu=mysql_query("select * from comments where ip=$kişiipsi && gameid=$oyunidsi");

    eğer sorgu nullsa insert sorgunu çalıştır  değilse  

    echo 'bu oyuna daha önceden yorum attınız' ;  

    Yaptım hocam ama bi yerde yanlış yapıyorum heralde olmuyo,

     

    $sorgu=mysql_query("select * from comments where ip=$ip && gameid=$gameid");

    if($sorgu!="" )

    {

    echo 'Daha önce yorum attınız';

    exit();

    }

     mysql_affected_rows dönen satır sayısını alır.

     $sonucsayisi = mysql_num_rows ($sorgu)

     if ($sonucsayisi > 0)

     {

    die ("daha önce yorum attınız");

    }

     

    EDIT : Num Rows muş.. :(

    SerYolcu tarafından 17/May/13 20:03 tarihinde düzenlenmiştir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    $gameid=sec($_POST["gameid"]);

    $ip=$_SERVER['REMOTE_ADDR'];

     

    $sorgu=mysql_query("select * from comments where ip=$ip && gameid=$gameid");

    if($sorgu!="" )

    {

    echo 'Daha önce yorum attınız';

    exit();

    }

     

    ------------------------

    Yukarıdaki kodun bi yerinde sıkıntı var büyük ihtimal ama bulamadım, sorgu´yu null döndürüyor aynı ip ve id olduğunda da çünkü...

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    Beyler eregi php´nin bi sürümü sonrası iptal edilmiş. onun yerine preg_match kullanılıyomus ama simdide buna çeviremiyorum!!

     

    if ( eregi( $oyunid, $_SESSION[yorumlar] ) )

     

    Bunun pregh_match fonksiyonu ile yazılımı nasıl olacak?

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    $sorgu=mysql_query("select * from comments where ip=$ip && gameid=$gameid");

    bu sorgu hatalı..

    $sorgu=mysql_query("select * from comments where ip=$ip and gameid=$gameid");

    olmalı..

    bir de sayfa başına error_reporting () koyarsan hatayı daha rahat bulursun...

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    Hocam sorgularını bu şekilde yaparsan SQL INJECTION a maruz kalabilirsin.Prepared SQL Statement kullan ya da mysql real escape string ve strip tags gibi fonksiyonlar ile kullandığın değişkenleri ön işlemden geçir.

    DrKill tarafından 17/May/13 20:57 tarihinde düzenlenmiştir
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek
    DrKill bunu yazdı

    Hocam sorgularını bu şekilde yaparsan SQL INJECTION a maruz kalabilirsin.Prepared SQL Statement kullan ya da mysql real escape string ve strip tags gibi fonksiyonlar ile kullandığın değişkenleri ön işlemden geçir.

    Tamamdır hocam, zaten beceremedim :)

     

    ----------------------

    eregi( $oyunid, $_SESSION[yorumlar] )

     

    Bunu preg_match fonksiyonuna bir dönüştürsem halledicem ama beceremedim

    bilenyok tarafından 17/May/13 21:02 tarihinde düzenlenmiştir
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilenyok
    bilenyok's avatar
    Kayıt Tarihi: 17/Eylül/2009
    Erkek

    up

Toplam Hit: 589 Toplam Mesaj: 12