Php Get İle Filtre

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    selamlar bir sitede filtreleme yapmaya çalışıyorum

    Şu sekilde bir filtrem var GET ile filtreyi alıp dbden sorguluyorum burada sıkıntı yok 
    Misal marka için ?marka=Markaid ?renk=renkid

    Takıldığım yer

    siteadi.com/kategori/kat.php?id=4&marka=3&renk=4 bu sekilde
    Url yapısına ekleme yapabilmek 
    Şu an elde ettigim yapı siteadi.com/kategori/kat.php?id=4&marka=3 veya siteadi.com/kategori/kat.php?id=4&renk=4
    Urlyi alıp bir sorguyla bastırayım dedim ancak güvenli olurmu diye ikilemde kaldım.
    Not: Get değerli post değil direk alınıyor.

    WildWamqire tarafından 29/Oca/16 21:13 tarihinde düzenlenmiştir

    Abure cubure subure dubure re re re tey tey tey
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Realist
    Realist's avatar
    Kayıt Tarihi: 13/Nisan/2007
    Erkek

    Cesitli filtrelemeler yapabilirsin pdo mu kullaniyorsun butun degerler sayiysa integer olarak tanimla en basiti


    ..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek
    Realist bunu yazdı

    Cesitli filtrelemeler yapabilirsin pdo mu kullaniyorsun butun degerler sayiysa integer olarak tanimla en basiti

    filtreden geçirdim güvenlik konusunda  ama sorun su parametre değeri varsa aynı parametreyi ekliyor ben var yok oludgunu anlayıp ona göre işlem yapacam 

    kategori/comfort?renk=11&marka=2&marka=2&renk=23&renk=5 misal bu sekilde sürekli yeni parametre ekliyor


    Abure cubure subure dubure re re re tey tey tey
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    babayarisi
    babayarisi's avatar
    Kayıt Tarihi: 17/Mart/2014
    Erkek

    kodu göremediğimiz için farazi konuşuyoruz ama anladığım kadarıyla 

    isset ve empty ile parametrelerin set edilip dolu olduğunu kontrol ettir.

    güvenlik içinde madem ki string kullanmıyorsun get leri intval() ile kısıtla oldu bitti.

    Tekrar eden parametrelerde yanlış anlamadıysam  get parametresini array yaparsan istediğin yeni eklemeyi yaptırabilirsin diye tahmin ediyorum

     

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek
    babayarisi bunu yazdı

    kodu göremediğimiz için farazi konuşuyoruz ama anladığım kadarıyla 

    isset ve empty ile parametrelerin set edilip dolu olduğunu kontrol ettir.

    güvenlik içinde madem ki string kullanmıyorsun get leri intval() ile kısıtla oldu bitti.

    Tekrar eden parametrelerde yanlış anlamadıysam  get parametresini array yaparsan istediğin yeni eklemeyi yaptırabilirsin diye tahmin ediyorum

     

     

    $markax= g('marka');
    $numara= g('numara');
    $renk= g('renk');
    
    $sorgu = array();
    if($markax) { $sorgu[] = "urun_marka = '".$markax."'"; }
    if($numara) { $sorgu[] = "urun_no = '".$numara."'"; }
    if($renk) { $sorgu[] = "urun_renk = '".$renk."'"; }
    if($sorgu) {
        $sql_sorgu = ' AND ';
        $sorgu_say = count($sorgu);
        $i = 1;
        foreach($sorgu as $sorgu_satir){
            $sql_sorgu .= $sorgu_satir;
            if($i != $sorgu_say) { $sql_sorgu .= ' and '; }
            $i++;
        }
    }
    unset($sorgu,$sorgu_satir);


    Bu filtrenin sorgulandıgı kod g fonksiyonu GEt metodunu temsil ediyor.

     

     $urunler = $db->get_results("SELECT
    				  urun_id,urun_adi,urun_resim,urun_seo,urun_indirim,urun_fiyat,urun_indirim_fiyat,urun_durum	
    				  FROM urunler WHERE urun_durum NOT IN(0) AND urun_kategori ='$kid' $sql_sorgu ORDER BY urun_id DESC LIMIT 24");
    				 if($db->num_rows > 0)	{
    				 foreach ($urunler as $urun ){
    					  urun($urun,'col-md-4 col-sm-6');
    				  }
    				  }else{
    				uyari('Üzgünüm','Bu kategoride herhangi bir ürün bulamadık','warning');	  
    				  }

     

    buda ürünleri listediğim kod

     

    <div class="layered layered-Category">
    <h2>Markalar</h2>
    <div class="content-shopby">
    <ol>
    <?php
    $markalar = $db->get_results("SELECT marka_id,marka_adi FROM markalar");	
    foreach($markalar as $marka){
    echo '<li><a href="'.$adres.$lnk.'marka='.$marka->marka_id.'">'.$marka->marka_adi.'</a></li>';	
    }
    ?>
    </ol>
    </div>
    </div>
    <div class="layered layered-Category">
    <h2>Renkler</h2>
    <div class="content-shopby">
    <ul style="width:230px;" class="list-inline">
    
    <?php
    $renkler = $db->get_results("SELECT renk_id,renk_adi,renk_kodu FROM renkler");	
    foreach($renkler as $renk){
    echo '<li  data-toggle="tooltip" title="'.$renk->renk_adi.'" style="width:25px;height:25px;margin:2px;background-color:'.$renk->renk_kodu.'">  <a style="line-height:25px;font-size:25px;" href="'.$adres.$lnk.'renk='.$renk->renk_id.'">   </a></li>';	
    }
    ?>
    </ul>
    </div>
    </div>
    

     

     

    buda elemanların olduğu yer

     Herşey çalışıyor ancak filtrelemede eğer o elaman varsa yenisni eklemesin değiştirsin. Bunu çözemedim

     

    WildWamqire tarafından 30/Oca/16 01:07 tarihinde düzenlenmiştir

    Abure cubure subure dubure re re re tey tey tey
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    Bir uploayım son kez hala cevap arıyorum 


    Abure cubure subure dubure re re re tey tey tey
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Soyle yapabilirsin

    Eger urlde renk parametresi (query_string) varsa linkleri gostermeyebilirsin. Yani renk yada herhangi bir alani gizleyebilirsin if ile. 

     


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    babayarisi
    babayarisi's avatar
    Kayıt Tarihi: 17/Mart/2014
    Erkek
    WildWamqire bunu yazdı
    babayarisi bunu yazdı

    kodu göremediğimiz için farazi konuşuyoruz ama anladığım kadarıyla 

    isset ve empty ile parametrelerin set edilip dolu olduğunu kontrol ettir.

    güvenlik içinde madem ki string kullanmıyorsun get leri intval() ile kısıtla oldu bitti.

    Tekrar eden parametrelerde yanlış anlamadıysam  get parametresini array yaparsan istediğin yeni eklemeyi yaptırabilirsin diye tahmin ediyorum

     

     

    $markax= g('marka');
    $numara= g('numara');
    $renk= g('renk');
    
    $sorgu = array();
    if($markax) { $sorgu[] = "urun_marka = '".$markax."'"; }
    if($numara) { $sorgu[] = "urun_no = '".$numara."'"; }
    if($renk) { $sorgu[] = "urun_renk = '".$renk."'"; }
    if($sorgu) {
        $sql_sorgu = ' AND ';
        $sorgu_say = count($sorgu);
        $i = 1;
        foreach($sorgu as $sorgu_satir){
            $sql_sorgu .= $sorgu_satir;
            if($i != $sorgu_say) { $sql_sorgu .= ' and '; }
            $i++;
        }
    }
    unset($sorgu,$sorgu_satir);


    Bu filtrenin sorgulandıgı kod g fonksiyonu GEt metodunu temsil ediyor.

     

     $urunler = $db->get_results("SELECT
    				  urun_id,urun_adi,urun_resim,urun_seo,urun_indirim,urun_fiyat,urun_indirim_fiyat,urun_durum	
    				  FROM urunler WHERE urun_durum NOT IN(0) AND urun_kategori ='$kid' $sql_sorgu ORDER BY urun_id DESC LIMIT 24");
    				 if($db->num_rows > 0)	{
    				 foreach ($urunler as $urun ){
    					  urun($urun,'col-md-4 col-sm-6');
    				  }
    				  }else{
    				uyari('Üzgünüm','Bu kategoride herhangi bir ürün bulamadık','warning');	  
    				  }

     

    buda ürünleri listediğim kod

     

    Markalar

     

    Renkler

     

     

     

    buda elemanların olduğu yer

     Herşey çalışıyor ancak filtrelemede eğer o elaman varsa yenisni eklemesin değiştirsin. Bunu çözemedim

     

     

    Hocam valla anlamadım daha net anlatma şansın varsa beklemedeyim çünkü bir sıkıntı yok gibi duruyor

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    Olay şu hocam sistem çalışıyor ama yapmak istediğim şey get ile gönderilen parametre esnek olsun

    https://www.ayakkabidunyasi.com.tr/erkek/aksesuar/canta

    misal bu sayfada soldaki filtreleri dene get parametrelerini bak hocam  adam kaldırdıgında kaldırıyor  veya başka eklemek istediğinde ekliyor.
    Şorun suki ben bunun url yapısını bir türlü çözemedim 5-6 tane filtre oldugunda manuel olarak sorgu yapdıgında olasıllıkalra göre bir sürü if else sorgusu oluyor.


    Abure cubure subure dubure re re re tey tey tey
Toplam Hit: 1141 Toplam Mesaj: 9
php filtre get işlemleri