• 17-04-2010, 17:18:08
    #1
    Merhaba arkadaşlar;

    2 saatir bir yerde takıldım ama sonucu ulaşamdım

    Şimdi iller, ilçeler, semtler adında üç tane tablomuz var ve ile göre ilçe seçimi yapmak istiyorum.
    İller sorunsuz listeleniyor ama ili seçtiğimde ilçeleri alamıyorum.

    mysql yapım şöyle

    Tablo İller :
    id    ulkekodu           name
    1        tr              ANKARA
    
    Tablo İlçeler :
    id        iladi            name
    5       ANKARA        MERTER
    *********************************************

    kod blogu aşağıda burda bir hata yapıyorum ama nerde, ilçe verisini almıyor:

                $ilceler = $db -> rows("SELECT * FROM ".DB_TFIX."ilceler WHERE iladi = '".$_GET['sehir']."' ORDER BY name ASC");
                if ($ilceler) {
                    echo '<option value="">-- İlçe seçiniz</option>';
                    foreach($ilceler as $ilce) {
                        echo '<option value="'.$ilce -> id.'">'.stripslashes($ilce -> name).'</option>';

    Yarımcı olabilecek arkaşa cok teşekür ederim şimdiden
  • 17-04-2010, 19:15:56
    #2
    MauroEterna adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar;

    2 saatir bir yerde takıldım ama sonucu ulaşamdım

    Şimdi iller, ilçeler, semtler adında üç tane tablomuz var ve ile göre ilçe seçimi yapmak istiyorum.
    İller sorunsuz listeleniyor ama ili seçtiğimde ilçeleri alamıyorum.

    mysql yapım şöyle

    Tablo İller :
    id    ulkekodu           name
    1        tr              ANKARA
    
    Tablo İlçeler :
    id        iladi            name
    5       ANKARA        MERTER
    *********************************************

    kod blogu aşağıda burda bir hata yapıyorum ama nerde, ilçe verisini almıyor:

                $ilceler = $db -> rows("SELECT * FROM ".DB_TFIX."ilceler WHERE iladi = '".$_GET['sehir']."' ORDER BY name ASC");
                if ($ilceler) {
                    echo '<option value="">-- İlçe seçiniz</option>';
                    foreach($ilceler as $ilce) {
                        echo '<option value="'.$ilce -> id.'">'.stripslashes($ilce -> name).'</option>';

    Yarımcı olabilecek arkaşa cok teşekür ederim şimdiden
    hersey normal gibi ama DB den veri ceken classi bilmemiz lazim.herşey normal gibi gözüküyor ama database den veri çeken CLASS ında bir sorun olabilir mi ?

    şunu denermisin <option value="'.$ilce[0].'">'.stripslashes($ilce[1]).'</option>
  • 17-04-2010, 19:16:32
    #3
    Sorununuz ile ilgili değil ama $_GET parametresini direk sql sorgusunun içine sokmanız sql injection açığına sebep olabilir. İlk baş $_GET ile gelen verinin sayı olup olmadığını kontrol edebilirsiniz.
  • 17-04-2010, 19:17:57
    #4
    OfisSoft adlı üyeden alıntı: mesajı görüntüle
    Sorununuz ile ilgili değil ama $_GET parametresini direk sql sorgusunun içine sokmanız sql injection açığına sebep olabilir. İlk baş $_GET ile gelen verinin sayı olup olmadığını kontrol edebilirsiniz.
    arkadasin $_GET i string olarak geldigi icin en iyisi
    mysql_real_escape_string fonksiyonunu kullanmasidir.
  • 18-04-2010, 14:54:47
    #5
    Yardımlarınız için saolun arkadaşlar..sorunum çözüldü string değer yerine id istedim vtden ve if_numericle check ettikten sonra aldım. İki arkadaşımada cok teşekkürler.
  • 18-04-2010, 16:36:03
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    $_GET ile aldığınız interger veya string olduğunu bilemeyeceğiniz durumlarda filtrelemeyi aşağıdaki gibi yapabilirsiniz:
    if (is_numeric($sayfa_id))
    	$sayfa_id = (int) $sayfa_id;
    else
    	$sayfa_id = htmlspecialchars($sayfa_id, ENT_QUOTES);