• 20-02-2022, 17:55:02
    #1
    SORUN ÇÖZÜLDÜ

    Selamlar şu şekilde bir form yapım var, getten gelen ***** değeriyle child değerini toplayıp sonra göre input ekliyor forma. İstediğim şey ad soyadları kisiler tablosuna ayrı ayrı kaydedip tur adını ise turlar tablosuna kaydetmek. (KONU BİRAZ UZUN OLDU ANCAK KODLARIN SATIR ARALIĞINDAN DOLAYI BU KADAR UZUN ŞİMDİDEN KUSURA BAKMAYIN.)
    İndex.php'de şöyle bir kod yazıyorum;
    <form action="islem.php" method="post">
    <div class="row">
                <div class="col-md-4">
                    Tur Adı
                    <input name="turlar_ad" type="text" class="form-control">
                </div>
            </div>
            <?php
              $kisiler=$_GET['*****'] + $_GET['child'];
    for($i=0;$i<$kisiler; $i++)
    {
    ?>    
            <div class="row">
                <div class="col-md-6">
                    Adınız Soyadınız
                    <input type="text" name="kisiler_ad<?php echo $i; ?>" class="form-control">
                </div>
    
                <div class="col-md-6">
                    Cinsiyetiniz
                    <input type="text" name="kisiler_cinsiyet<?php echo $i; ?>" class="form-control">
                </div>
    
                <?php
    }
                ?>  
            </div>
            <button class="btn btn-primary mt-3" type="submit" name="turlarkaydet">KAYDET</button>
    </form>
    Ve şöyle bir çıktı oluyor sitede;
    <form action="islem.php" method="post">
    <div class="row">
                <div class="col-md-4">
                    Tur Adı
                    <input name="turlar_ad" type="text" class="form-control">
                </div>
            </div>
                
            <div class="row">
                <div class="col-md-6">
                    Adınız Soyadınız
                    <input type="text" name="kisiler_ad0" class="form-control">
                </div>
    
                <div class="col-md-6">
                    Cinsiyetiniz
                    <input type="text" name="kisiler_cinsiyet0" class="form-control">
                </div>
    
                    
            <div class="row">
                <div class="col-md-6">
                    Adınız Soyadınız
                    <input type="text" name="kisiler_ad1" class="form-control">
                </div>
    
                <div class="col-md-6">
                    Cinsiyetiniz
                    <input type="text" name="kisiler_cinsiyet1" class="form-control">
                </div>
    
                    
            <div class="row">
                <div class="col-md-6">
                    Adınız Soyadınız
                    <input type="text" name="kisiler_ad2" class="form-control">
                </div>
    
                <div class="col-md-6">
                    Cinsiyetiniz
                    <input type="text" name="kisiler_cinsiyet2" class="form-control">
                </div>
    
                  
            </div>
            <button class="btn btn-primary mt-3" type="submit" name="turlarkaydet">KAYDET</button>
    </form>
    Verileri işlediğim yer (islem.php);
    <?php
    require_once('baglan.php');
    
    if(isset($_POST["turlarkaydet"])){
    
        $kaydet=$db->prepare("INSERT INTO turlar SET
                turlar_ad=:ad
                ");
            $insert=$kaydet->execute(array(
                'ad' => htmlspecialchars($_POST['turlar_ad'],ENT_QUOTES,'UTF-8'),        
                ));
    
                if($insert){
                    Header("Location:index.php?islem=basarili");
                }else{
                    Header("Location:index.php?islem=basarisiz");
                }
    }
    
    if(isset($_POST["turlarkaydet"])){
    
        $kaydet=$db->prepare("INSERT INTO kisiler SET
        kisiler_ad=:ad,
        kisiler_cinsiyet=:cinsiyet
        ");
        $insert=$kaydet->execute(array(
        'ad' => htmlspecialchars($_POST['kisiler_ad0'],ENT_QUOTES,'UTF-8'),        
        'cinsiyet' => htmlspecialchars($_POST['kisiler_cinsiyet0'],ENT_QUOTES,'UTF-8'),    
        ));
        
        if($insert){
            Header("Location:index.php?islem=basarili&*****=2&child=1");
        }else{
            Header("Location:index.php?islem=basarisiz&*****=2&child=1");
        }
    }
    
    
    ?>
    1. Tablomun Adı Turlar(turlar_id, turlar_ad)
    2. Tablomun Adı Kisiler(kisiler_id, kisiler_ad, kisiler_cinsiyet, turlar_id)
    Bu şekilde yapmak istediğim şeyi az çok anlamışsınızdır kisiler tablosunda turlar_id tutarak o tura katılan kişileri rahatlıkla kaydedebiliyorum.
  • 20-02-2022, 18:13:18
    #2
    İslem.php'ye get değeri yolladıktan sonra for dönügüsüne alarak hallettim. teşekkürler.