• 06-06-2019, 02:06:42
    #10
    Yazalım ihtiyacı olan arkadaşlarda faydalanır
    Şimdi ilk önce veritabanında gerekli olanları oluşturalım
    CREATE TABLE `ustkategoriler` (
    `id` int(11) NOT NULL auto_increment,
    `kategori_baslik` varchar(300) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;
    
    CREATE TABLE `altkategoriler` (
    `id` int(11) NOT NULL auto_increment,
    `altkat_ustkategori` varchar(300) NOT NULL,
    `altkat_baslik` varchar(300) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;
    Burda veritabanında ustkategoriler ve altkategoriler diye oluşturduk
    bu formun ustkategori.php'de olduğunu varsayıyoruz ve ustkategori.php içeriğimizi şu şekilde yapıyoruz.

    <form action="ustkategori.php">
    <input type="text" name="kategori_baslik">
    </form>
    
    <?php
    if($_POST){ // post işlemi gelirşe başlatıyoruz
    $kategori_baslik = $_POST["kategori_baslik"]; //formdan gelen kategori başlığını aldık
    $ekle = mysql_query("INSERT INTO ustkategoriler (kategori_baslik)VALUES('$kategori_baslik')"); //veriyi kaydettik
    }
    ?>
    Burdaki kayıt işimiz bitti şimdi altkategori oluşturalım bu dosyamızında altkategori.php olduğunu varsayıyoruz
    altkategori.php içeriğimiz şu şekilde olacak

    <form action="altkategori.php">
    <input type="text" name="altkat_baslik">
    <select name="kategori_sec">
    <?php
    $katal = mysql_query("SELECT * FROM ustkategoriler ORDER BY id DESC limit 0,999"); //üst kategorileri seçmek için üstkategorileri listeliyoruz
    while($yaz=mysql_fetch_array($katal)){
    $id = $yaz['id'];
    $kategori_baslik = $yaz['kategori_baslik'];
    echo '<option value="'.$id.'">'.$kategori_baslik.'</option>';
    }
    ?>
    </select>
    </form>
    
    <?php
    if($_POST){
    $altkat_baslik = $_POST["altkat_baslik"];
    $altkat_ustkategori = $_POST["kategori_sec"];
    $ekle = mysql_query("INSERT INTO altkategoriler (altkat_baslik,altkat_ustkategori)VALUES('$altkat_baslik','$altkat_ustkategori')"); //veriyi kaydettik
    }
    
    ?>
    Bu şekilde dilediğin kadar altkategoriyi eklemek istediğin üst kategoriyi seçerek sınırsız altkategori ekleyebilirsin.
    Tabi burda sql injection açığı var kendi güvenli get ve post fonksiyonun vardır diye düşünüyorum yok ise

    function p ($post) {
    return htmlspecialchars(mysql_real_escape_string($_POST[$post]));
    }
    $cekilecekdeger = p("cekilecekdeger");
    bu şekilde güvenli olarak alabilirsin post fonksiyonlarınıda iyi bayramlar dilerim
  • 10-06-2019, 12:00:21
    #11
    ultibil adlı üyeden alıntı: mesajı görüntüle
    Yazalım ihtiyacı olan arkadaşlarda faydalanır
    Şimdi ilk önce veritabanında gerekli olanları oluşturalım
    CREATE TABLE `ustkategoriler` (
    `id` int(11) NOT NULL auto_increment,
    `kategori_baslik` varchar(300) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;
    
    CREATE TABLE `altkategoriler` (
    `id` int(11) NOT NULL auto_increment,
    `altkat_ustkategori` varchar(300) NOT NULL,
    `altkat_baslik` varchar(300) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;
    Burda veritabanında ustkategoriler ve altkategoriler diye oluşturduk
    bu formun ustkategori.php'de olduğunu varsayıyoruz ve ustkategori.php içeriğimizi şu şekilde yapıyoruz.

    <form action="ustkategori.php">
    <input type="text" name="kategori_baslik">
    </form>
    
    <?php
    if($_POST){ // post işlemi gelirşe başlatıyoruz
    $kategori_baslik = $_POST["kategori_baslik"]; //formdan gelen kategori başlığını aldık
    $ekle = mysql_query("INSERT INTO ustkategoriler (kategori_baslik)VALUES('$kategori_baslik')"); //veriyi kaydettik
    }
    ?>
    Burdaki kayıt işimiz bitti şimdi altkategori oluşturalım bu dosyamızında altkategori.php olduğunu varsayıyoruz
    altkategori.php içeriğimiz şu şekilde olacak

    <form action="altkategori.php">
    <input type="text" name="altkat_baslik">
    <select name="kategori_sec">
    <?php
    $katal = mysql_query("SELECT * FROM ustkategoriler ORDER BY id DESC limit 0,999"); //üst kategorileri seçmek için üstkategorileri listeliyoruz
    while($yaz=mysql_fetch_array($katal)){
    $id = $yaz['id'];
    $kategori_baslik = $yaz['kategori_baslik'];
    echo '<option value="'.$id.'">'.$kategori_baslik.'</option>';
    }
    ?>
    </select>
    </form>
    
    <?php
    if($_POST){
    $altkat_baslik = $_POST["altkat_baslik"];
    $altkat_ustkategori = $_POST["kategori_sec"];
    $ekle = mysql_query("INSERT INTO altkategoriler (altkat_baslik,altkat_ustkategori)VALUES('$altkat_baslik','$altkat_ustkategori')"); //veriyi kaydettik
    }
    
    ?>
    Bu şekilde dilediğin kadar altkategoriyi eklemek istediğin üst kategoriyi seçerek sınırsız altkategori ekleyebilirsin.
    Tabi burda sql injection açığı var kendi güvenli get ve post fonksiyonun vardır diye düşünüyorum yok ise

    function p ($post) {
    return htmlspecialchars(mysql_real_escape_string($_POST[$post]));
    }
    $cekilecekdeger = p("cekilecekdeger");
    bu şekilde güvenli olarak alabilirsin post fonksiyonlarınıda iyi bayramlar dilerim
    pdo kullanmanın daha güvenli olacağını düşünüyorum.
  • 10-06-2019, 12:04:34
    #12
    emre0606 adlı üyeden alıntı: mesajı görüntüle
    pdo kullanmanın daha güvenli olacağını düşünüyorum.
    PDOcular bir bitmedi 😀