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

    uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza uzun imza
  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

    agile isn’t how fast you can go, it’s how fast you can turn.
  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

    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  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...


    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  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

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  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: 739 Toplam Mesaj: 12