• 22-09-2023, 13:44:41
    #1
    Merhaba. Codeigniter ile sitede ve sonradan üzerine eklenen bir rezervasyon formunda, 3 yetişkinden fazla veri veritabanına kaydedilmiyor. Ayrıca yine çocuk ve bebek verileri de kaydedilmiyor. Sebebini bir türlü çözemedim. Anlayan kişiler yardımcı olur ve yol gösterirse sevinirim.

    Öncelikle veriler tour-detail.php'deki formda ziyaretçi tarafından dolduruluyor.
    <?php } ?>
                            <div class="sidebar-widget single-content-widget" style="margin-top : 20px">
    
                                <div class="sidebar-block hotel-bed-infos">
    
                                    <div class="sidebar-title">
    
                                        <?php // echo $words->konaklama_bilgileri ?>
                                                  TUR REZERVASYONU
                                    </div>
                                    <?php
    
                                    $hostname = 'localhost';
                                    $username = '**';
                                    $password = '**';
                                    $database = '**';
    
                                    // Veritabanı bağlantısı
                                    $conn = new mysqli($hostname, $username, $password, $database);
                                    // Karakter seti ayarlaması
                                    $conn->set_charset("utf8");
                                    // Seçilen turun tour_prices verilerini seç
                                    $sql = "SELECT tour_prices FROM tours WHERE id = " . $tour->id;
                                    $result = $conn->query($sql);
    
                                    $response = array();
                                    $response['tourPrices'] = array();
    
                                    if ($result->num_rows > 0) {
                                    $row = $result->fetch_assoc();
                                    $tourPrices = json_decode($row['tour_prices'], true);
    
                                    if (isset($tourPrices[1])){
                                        $response = $tourPrices[1]['tour_price'];
    
                                    }    }
                                    $conn->close();
    
                                    ?>
                                    <div class="sidebar-widget-item">
    
                                        <input type="hidden"  id="tour_room_price" value="<?php echo $response ?>">
    
                                        <!-- ODA SAYISI -->
                                        <div class="qty-box mb-2 d-flex align-items-center justify-content-between" id="room_count_info">
                                            <label class="font-size-16" style="font-weight: 1000;">Oda Sayısı <span><br></span></label>
                                            <div class="qtyBtn d-flex align-items-center">
                                                <div class="qtyDec"><i class="la la-minus"></i></div>
                                                <input type="text" name="room" value="1" id="qtyRoom" onchange="changeRooms(this.value)">
                                                <div class="qtyInc"><i class="la la-plus"></i></div>
                                            </div>
                                        </div>
    
                                        <div class="sidebar-widget-item " id="roomInfo"> </div>
    
    
                                    </div>
    
    
    
                                    <div class="qty-box mb-2 d-flex align-items-center justify-content-between">
    
                                        <label class="font-size-16" style="margin-top: 10px"><span>(Lütfen önce genel şartlar bölümünü okuyunuz)</span></label></a>
    
    
    
    
    
    
    
    
    
                                    </div>
    
    
    
                                    <div class="sidebar-select-box">
    
                                        <b>
    
                                            <?php echo $words->tarih_seciniz ?>
    
                                        </b>
                                        <select class="form-control change-date-range" name="date_range"
    
                                                onchange="changeAdults()">
    
                                            <?php $date_range = !empty($tour->date_range) ? json_decode($tour->date_range) : ''; ?>
    
                                            <?php
    
    
    
                                            foreach (!empty($date_range) ? $date_range : [] as $key => $val) {
                                                if($val->start_date){
                                                    ?>
    
                                                    <option value="<?php echo date_range($val->start_date) . ' - ' . date_range($val->finish_date) . ' ' . ($kalan > 0 ? $val->date_price_discount : $val->date_price) . '€' ?>"
                                                            data-firsat="<?php echo $kalan ;?>"
                                                        <?php if($kalan > 0) { ?>
    
                                                            data-orginal-price="<?php echo $val->date_price ?>"
                                                            data-orginal-childprice="<?php echo $val->date_child_price ?>"
                                                            data-orginal-babyprice="<?php echo $val->date_baby_price ?>"
    
    
                                                            data-price="<?php echo $val->date_price_discount ?>"
                                                            data-childprice="<?php echo $val->date_child_price_discount ?>"
                                                            data-babyprice="<?php echo $val->date_baby_price_discount ?>"
                                                        <?php } else { ?>
                                                            data-price="<?php echo $val->date_price ?>"
                                                            data-childprice="<?php echo $val->date_child_price ?>"
                                                            data-babyprice="<?php echo $val->date_baby_price ?>"
    
                                                            data-orginal-price="<?php echo $val->date_price ?>"
                                                            data-orginal-childprice="<?php echo $val->date_child_price ?>"
                                                            data-orginal-babyprice="<?php echo $val->date_baby_price ?>"
    
                                                        <?php } ?>
    
                                                        <?php echo $key == 0 ? 'selected' : '' ?>>
    
                                                        <?php echo date_range($val->start_date) . ' - ' . date_range($val->finish_date) . ' ' . ($kalan > 0 ? $val->date_price_discount : $val->date_price) . '€' ?>
    
                                                    </option>
    
                                                <?php } } ?>
    
                                        </select>
    
                                    </div>
    
                                    <hr>
    
                                    <div class="sidebar-select-box">
    
                                        <b>
    
                                            Katılım Noktası Seçiniz
    
                                        </b>
    
                                        <select class="form-control change-date-range" name="boarding_point"
    
                                                onchange="changeAdults()">
    
    
                                            <?php $joining_points = json_decode($tour->joining_points) ?>
    
                                            <?php foreach (!empty($joining_points) ? $joining_points : [] as $key => $val) { ?>
    
    
                                                <option><?=$val->joining_point_name?></option>
    
                                            <?php } ?>
    
    
    
    
    
                                        </select>
    
                                    </div>
                                    
                                    <input type="hidden" id="tourRoomPriceInput" name="tour_room_price" value="">
    
    
                                    <div class="sidebar-select-box">
    
    
                                    </div>
    
                                </div>
    
                                <?php if (!empty($tour->tour_prices)) { ?>
    
    
                                        <style>.sidebar-titlex {
                                                width: 100%;
                                                text-align: center;
                                                font-weight: bold;
                                                /* background: #f7ad183b !important; */
                                                padding: 5px 20px;
                                                border-radius: 8px;
                                                margin-bottom: 5px;
                                            }
    
                                            .qty-box label{
    
                                                font-weight: 333;
                                            }</style>
                                        <?php   // KONAKLAMA BİLGİLERİ echo $words->otel_bilgileri ?>
    
    
    
                        <?php } ?>
    
                            <?php if (!empty($tour->flight_information)) { ?>
    
                                <div class="sidebar-block transform-info">
    
                                    <div class="sidebar-title">
    
                                        <?php echo $words->ucus_bilgileri ?>
    
                                    </div>
    
                                    <?php $flight_information = !empty($tour->flight_information) ? json_decode($tour->flight_information) : '';
    
                                    $i = 0; ?>
    
                                    <?php foreach (!empty($flight_information) ? $flight_information : [] as $key => $val) {
    
                                        $i++ ;
                                        if(isset($val->airline)){
    
                                            ?>
    
                                            <div class="hotel-check-blocks transform-info-block">
    
                                                <div class="hotel-check hotel-flex">
    
                                                    <div class="form-group d-flex align-items-center">
    
                                                        <label for="airline-radio-<?php echo $i ?>"
    
                                                               class="radio-trigger mb-0 font-size-14 mr-3">
    
                                                            <input type="radio" id="airline-radio-<?php echo $i ?>"
    
                                                                   name="airline_packet" onclick="changeAdults()"
    
                                                                   data-price="<?php echo $val->airline_price ?>"
                                                                   data-price2="<?php echo $val->airline_price_cocuk ?>"
                                                                   data-price3="<?php echo $val->airline_price_bebek ?>"
    
                                                                   value="<?php echo $val->airline . ' | ' . $val->departure_place . ' | ' . $val->landing_place . ' | ' . $val->airline_price . '€' ?>"
    
                                                                   class="change-price" <?php echo $i == 1 ? 'checked' : '' ?>>
    
                                                            <span class="checkmark"></span>
    
                                                            <span></span>
    
                                                        </label>
    
    
    
                                                    </div>
    
                                                    <div class="transform-info-company-logo">
    
                                                        <img src="<?php echo site_url(webp_support($val->logo)) ?>"
    
                                                             alt="<?php echo isset($val->airline) ? $val->airline : '' ; ?>">
    
                                                    </div>
    
                                                </div>
    
                                                <div class="tt-block">
    
    
    
                                                    <div class="transform-info-left">
    
                                                        <div class="thy-location">
    
                                                            <b class="d-block">
    
                                                                <?php echo $val->departure_place ?>
    
                                                            </b>
    
                                                            <p align="center">
    
                                                                <?php echo $val->departure_airport ?>
    
                                                            </p>
    
                                                        </div>
    
                                                    </div>
    
    
    
                                                    <div class="transform-info-left no-logo">
    
                                                        <div class="thy-location">
    
                                                            <b class="d-block">
    
                                                                <?php echo $val->landing_place ?>
    
                                                            </b>
    
                                                            <p>
    
                                                                <?php echo $val->landing_airport ?>
    
                                                            </p>
    
                                                        </div>
    
                                                    </div>
    
                                                </div>
    
                                                <div class="hotel-price">
    
                                                    <strong>
    
                                                        +<?php echo $val->airline_price ?> €
    
                                                    </strong>
    
                                                </div>
    
                                            </div>
    
                                        <?php }  } ?>
    
                                </div>
    
                            <?php } ?>
    
                            <div class="sidebar-block rez-info payment-method" style="display:none">
    
                                <div class="sidebar-widget-item">
    
                                    <div class="sidebar-select-box">
    
                                        <b>
    
                                            <?php echo $words->odeme_yontemi_seciniz ?>
    
                                        </b>
    
                                        <select class="form-control" name="payment_method">
    
                                            <option>
    
                                                Havale
    
                                            </option>
    
                                        </select>
    
                                    </div>
    
                                </div>
    
                            </div>
                            <div class="sidebar-block rez-info payment-method contact-form-action p-3">
    
                                <div class="sidebar-widget-item">
    
                                    <div class="sidebar-select-box">
    
                                        <b>
    
                                            İletişim Bilgileriniz
    
                                        </b>
    
                                        <div class="form-group mt-3">
                                            <span class="la la-user form-icon"></span>
                                            <input class="form-control" type="text" name="name_surname" placeholder="Adınız Soyadınız">
                                        </div>
    
    
    
                                        <div class="form-group">
                                            <span class="la la-envelope form-icon"></span>
                                            <input class="form-control" type="text" name="email" placeholder="E-Mail Adresiniz">
                                        </div>
    
                                        <div class="form-group">
                                            <span class="la la-phone form-icon"></span>
                                            <input class="form-control" type="text" name="phone" placeholder="Telefon Numaranız">
                                        </div>
    
                                    </div>
    
                                </div>
    
                            </div>
                            <div class="sidebar-block rez-info">
    
                                <div class="sidebar-widget-item">
    
                                    <div class="sidebar-book-title-wrap mb-3">
    
                                        <h3><?php echo $words->toplam ?></h3>
    
                                        <input type="hidden" id="tour_price"
    
                                               value="<?php echo !empty($tour->discount_price) ? $tour->discount_price / 100 : $tour->price / 100 ?>">
    
                                        <input type="hidden" id="tour_total_price" name="tour_price"
    
                                               value="<?php echo !empty($tour->discount_price) ? $tour->discount_price / 100 : $tour->price / 100 ?>">
    
                                        <div class="flex-box">
    
    
    
                                            <p><span class="text-form"></span><span class="text-value ml-2 mr-1"
    
                                                                                    id="price"
    
                                                                                    data-price="<?php echo !empty($tour->discount_price) ? $tour->discount_price / 100 : $tour->price / 100 ?>">€<?php echo !empty($tour->discount_price) ? $tour->discount_price / 100 : $tour->price / 100 ?></span>
    
                                            </p>
    
                                        </div>
    
    
    
                                    </div>
    
                                </div>
    
                            </div>
    
    
    
                            <!-- end sidebar-widget-item -->
    
                            <div class="btn-box pt-2">
    
                                <button type="submit" id="reservation-button"
    
                                        class="theme-btn text-center w-100 mb-2"><i
    
                                        class="la la-shopping-cart mr-2 font-size-18"></i><?php echo $words->rezervasyon_yap ?>
    
                                </button>
    
                                <div class="d-flex align-items-center justify-content-between pt-2">
    
                                </div>
    
                            </div>
                            
                            </div>
    
                    <!-- end sidebar-widget -->
    
    
    
                    <!-- end sidebar-widget -->
    
                </div>
    
                </form>
    
                <!-- end sidebar -->
    
            </div>
    
    
    
        </div>
    
    
    
        </div>
    Formdan gelen veriler main.js'deki şu bölümde işleniyor
    var rid= data;
        var passengerContainerA = document.getElementById('adultinfo'+rid);
        var passengerContainerC = document.getElementById('childinfo'+rid);
        var passengerContainerB = document.getElementById('babyinfo'+rid);
        var otel_packet_key = data;//document.getElementById('roomId').value;
    
        for (var a = 1; a <= adultCount; a++) {
            var passengerDiv = document.createElement('div');
            passengerDiv.className = 'passenger';
            passengerDiv.innerHTML = '' + '<div class="sidebar-block rez-info payment-method contact-form-action p-3"> ' +
                ' <div class="sidebar-widget-item">' + '    <div class="sidebar-select-box">' + ' <b>Yetişkin ' + a + ' </b>' +
                ' ' + ' <div class="form-group mt-3">' + '  ' +
                '<span class="la la-user form-icon"></span>' +
                ' <input class="form-control" type="text" name="passengerName_y_' + a + '_opk_' + otel_packet_key +
                '" placeholder="Ad Soyad" required>' + ' </div>' +
                ' ' + '' +
                ' <div class="form-group mt-3">' + '  ' +
                '<span class="la la-transgender form-icon"></span>' +
                ' <input class="form-control" list="genderOptions" type="text" name="passengerGender_y_' + a +
                '" placeholder="Cinsiyet" required>' + ' </div>' +
                '' +
                '<div class="form-group mt-3">' + ' <span  class="la la-calendar form-icon ccffss"></span>' +
                ' <input class="form-control dateField" type="text" name="passengerBirthdate_y_' + a +
                '" placeholder="Doğum Tarihi"  value="" required>' + ' </div>' + '' +
                ' </div> </div> </div>' + '' + '' + '';
    
            passengerContainerA.appendChild(passengerDiv);
        }
        for (var j = 1; j <= childCount; j++) {
            var passengerDiv = document.createElement('div');
            passengerDiv.className = 'passenger';
            passengerDiv.innerHTML = '' + '<div class="sidebar-block rez-info payment-method contact-form-action p-3"> ' +
                ' <div class="sidebar-widget-item">' + '    <div class="sidebar-select-box">' + ' <b>Çocuk ' + j + ' </b>' +
                ' ' + ' <div class="form-group mt-3">' + '  ' +
                '<span class="la la-user form-icon"></span>' +
                ' <input class="form-control" type="text" name="passengerName_c_' + j + '_opk_' + otel_packet_key +
                '" placeholder="Ad Soyad" required>' + ' </div>' +
                ' ' + '' +
                ' <div class="form-group mt-3">' + '  ' +
                '<span class="la la-transgender form-icon"></span>' +
                ' <input class="form-control" list="genderOptions" type="text" name="passengerGender_c_' + j +
                '" placeholder="Cinsiyet" required>' + ' </div>' +
                '' +
                '<div class="form-group mt-3">' + ' <span  class="la la-calendar form-icon ccffss"></span>' +
                ' <input class="form-control dateField" type="text" name="passengerBirthdate_c_' + j +
                '" placeholder="Doğum Tarihi"  value="" required>' + ' </div>' + '' +
                ' </div> </div> </div>' + '' + '' + '';
            passengerContainerC.appendChild(passengerDiv);
        }
        for (var k = 1; k <= babyCount; k++) {
            var passengerDiv = document.createElement('div');
            passengerDiv.className = 'passenger';
            passengerDiv.innerHTML = '' + '<div class="sidebar-block rez-info payment-method contact-form-action p-3"> ' +
                ' <div class="sidebar-widget-item">' + '    <div class="sidebar-select-box">' + ' <b>Bebek ' + k + ' </b>' +
                ' ' + ' <div class="form-group mt-3">' + '  ' +
                '<span class="la la-user form-icon"></span>' +
                ' <input class="form-control" type="text" name="passengerName_b_' + k + '_opk_' + otel_packet_key +
                '" placeholder="Ad Soyad" required>' + ' </div>' +
                ' ' + '' +
                ' <div class="form-group mt-3">' + '  ' +
                '<span class="la la-transgender form-icon"></span>' +
                ' <input class="form-control" list="genderOptions" type="text" name="passengerGender_b_' + k +
                '" placeholder="Cinsiyet" required>' + ' </div>' +
                '' +
                '<div class="form-group mt-3">' + ' <span  class="la la-calendar form-icon ccffss"></span>' +
                ' <input class="form-control dateField" type="text" name="passengerBirthdate_b_' + k +
                '" placeholder="Doğum Tarihi"  value="" required>' + ' </div>' + '' +
                ' </div> </div> </div>' + '' + '' + '';        passengerContainerB.appendChild(passengerDiv);
        }
    
        Inputmask("99/99/9999", { placeholder: "gg/aa/yyyy" }).mask(".dateField");
    
        changeAdults()
    }
    function changeAdults() {
        /** VVVV ORJİNAL VVVV */
        var TOUR_PRICE = parseInt($('.change-date-range').find('option:selected').attr('data-price'));
        var TOUR_CHILD_PRICE = parseInt($('.change-date-range').find('option:selected').attr('data-childprice'));
        var TOUR_BABY_PRICE = parseInt($('.change-date-range').find('option:selected').attr('data-babyprice'));
    
    
        var TOUR_ORGINAL_PRICE = parseInt($('.change-date-range').find('option:selected').attr('data-orginal-price'));
        var TOUR_ORGINAL_CHILD_PRICE = parseInt($('.change-date-range').find('option:selected').attr('data-orginal-childprice'));
        var TOUR_ORGINAL_BABY_PRICE = parseInt($('.change-date-range').find('option:selected').attr('data-orginal-babyprice'));
    
    
        var firsat = parseInt($('.change-date-range').find('option:selected').attr('data-firsat'));
        if (firsat > 0) {
            $("#TOUR_ORGINAL_PRICE").html("Yetişkin " + TOUR_ORGINAL_PRICE + "€ yerine " + TOUR_PRICE + "€");
            $("#TOUR_ORGINAL_CHILD_PRICE").html("Çocuk " + TOUR_ORGINAL_CHILD_PRICE + "€ yerine " + TOUR_CHILD_PRICE + "€");
            $("#TOUR_ORGINAL_BABY_PRICE").html("Bebek " + TOUR_ORGINAL_CHILD_PRICE + "€ yerine " + TOUR_BABY_PRICE + "€");
    
        }
    
    
        var qtyAdult1 = parseInt($("#qtyAdult1").val(), 10) || 2;
        var qtyAdult2 = parseInt($("#qtyAdult2").val(), 10) || 0;
        var qtyAdult3 = parseInt($("#qtyAdult3").val(), 10) || 0;
        var qtyAdult4 = parseInt($("#qtyAdult4").val(), 10) || 0;
    
        var adultAd = qtyAdult1+qtyAdult2+qtyAdult3+qtyAdult4
        var tourpricead = adultAd * TOUR_PRICE;
    
        var qtyChild1 = parseInt($("#qtyChild1").val(), 10) || 0;
        var qtyChild2 = parseInt($("#qtyChild2").val(), 10) || 0;
        var qtyChild3 = parseInt($("#qtyChild3").val(), 10) || 0;
        var qtyChild4 = parseInt($("#qtyChild4").val(), 10) || 0;
    
        var ChildAd = qtyChild1+qtyChild2+qtyChild3+qtyChild4
        var tourpriceci = ChildAd * TOUR_CHILD_PRICE;
    
        var qtyBaby1 = parseInt($("#qtyBaby1").val(), 10) || 0;
        var qtyBaby2 = parseInt($("#qtyBaby2").val(), 10) || 0;
        var qtyBaby3 = parseInt($("#qtyBaby3").val(), 10) || 0;
        var qtyBaby4 = parseInt($("#qtyBaby4").val(), 10) || 0;
    
        var val = qtyBaby1+qtyBaby2+qtyBaby3+qtyBaby4
        var tourpricebab = val * TOUR_BABY_PRICE;
    
        var total = tourpricead + tourpriceci + tourpricebab;
    
    
        var tour_room_price = $('#tour_room_price').val();
        if (tour_room_price ){
            console.log("konaklamalı " )
        }else{
            console.log("konaklamasız ")
            $(document).ready(function() {
                $('#room_count_info').empty();
                $('.sidebar-titlex').empty();
                $('#room_count_info').removeClass();
            });
        }
        if (tour_room_price){
            var otel_packet_price = tour_room_price;
        }else {
            var otel_packet_price = 0;
    
    
        }
    
    console.log("otel_packet_price= " + otel_packet_price)
        var otel_packet = 0//$('input[name=otel_packet]:checked').data("price");
    
        if (qtyAdult1  === 1 && qtyChild1 === 0 ){
            otel_packet = parseInt(otel_packet) + parseInt(otel_packet_price)
        } if (qtyAdult2  === 1  && qtyChild2 === 0 ){
            otel_packet = parseInt(otel_packet) + parseInt(otel_packet_price)
        } if (qtyAdult3  === 1  && qtyChild3 === 0 ){
            otel_packet = parseInt(otel_packet) + parseInt(otel_packet_price)
        } if (qtyAdult4  === 1  && qtyChild4 === 0){
            otel_packet =  parseInt(otel_packet) + parseInt(otel_packet_price)
        }
        console.log("qtyAdult1=" +qtyAdult1)
        console.log("qtyAdult2=" +qtyAdult2)
        console.log("qtyAdult3=" +qtyAdult3)
        console.log("qtyAdult4=" +qtyAdult4)
    
        var otel_packet_key = $('input[name=otel_packet]:checked').data("key");
        var otel_total =otel_packet;// (otel_packet * adultAd) + (otel_packet * ChildAd);
        var airline_packet = $('input[name=airline_packet]:checked').data("price");
        var airline_packet_cocuk = $('input[name=airline_packet]:checked').data("price2");
        var airline_packet_bebek = $('input[name=airline_packet]:checked').data("price3");
        var airline_total = (airline_packet * adultAd) + (airline_packet_cocuk * ChildAd) + (airline_packet_bebek * val);
    
    
        var subtotal = total + otel_total + airline_total;
        $('#price').attr('data-price', subtotal);
        $('#price').html('€' + subtotal);
        //$('#top-price').html('€'+subtotal);
        $('#tour_total_price').val(subtotal);
    
    
        console.log(total, otel_total, airline_total);
        /** ^^^^^ ORJİNAL ^^^^^ */
    
    
    
    
    
    }
    
    //changeAdults();
    changeRooms(0);
    changeRooms(1);
    updateGuest(1);
    function get_price() {
    
        var tour_price = parseInt($('#tour_price').val());
        var price = 0;
        $('.change-price').each(function () {
            if ($(this).prop('checked') == true) {
                price += parseInt($(this).attr('data-price'));
            }
        })
    
        price += parseInt($('.change-date-range').find('option:selected').attr('data-price'));
    
        var total_price = tour_price + price;
        $('#price').attr('data-price', total_price);
        $('#price').html('€' + total_price);
        $('#top-price').html('€' + total_price);
        $('#tour_total_price').val(total_price);
    }
    
    
    
    if(tourRoomPriceFromPHP) {
        document.getElementById("tourRoomPriceInput").value = tourRoomPriceFromPHP;
    }
    Daha sonra veriler Ajax.php dosyasında şu şekilde işlenerek odalama senaryoları gerçekleştiriliyor. Asıl sorun da burada başlıyor. Guest_info olarak buraya sadece yetişkin bilgileri yani _y geliyor. Ayrıca senaryolar arasında 4 kişinin olabileceği görünmüyor. Aslında aynı kodları uyarlayarak 4 kişi, 5 kişilik senaryolar ekledim ama bir işe yaramadı. Yine aynı kod şekilleri ile çocuk ve bebek verilerini de çekmek istedim ama o da bir işe yaramadı. Sorunu bir türlü çözemiyorum.

     public function add_reservation()
        {
    
            $words = $this->model->lang_words($this->user_lang());
    
    
     
            $mail_data = new stdClass();
            $post_data = new stdClass();
    
            $this->load->library('Mail');
            $this->form_validation->set_rules('*****', 'Yetişkin Sayısı', 'required|trim|numeric|xss_clean');
            $this->form_validation->set_rules('child', 'Çocuk Sayısı', 'required|trim|numeric|xss_clean');
            $this->form_validation->set_rules('baby', 'Bebek Sayısı', 'required|trim|numeric|xss_clean');
            $this->form_validation->set_rules('date_range', 'Tarih Periyodu', 'required|trim|max_length[255]|xss_clean');
            $this->form_validation->set_rules('otel_packet', 'Otel Bilgileri', 'trim|max_length[255]|xss_clean');
            $this->form_validation->set_rules('airline_packet', 'Uçuş Bilgileri', 'trim|max_length[255]|xss_clean');
            $this->form_validation->set_rules('tour_price', 'Fiyat', 'required|trim|numeric|xss_clean');
            $this->form_validation->set_rules('tour', 'Tur', 'required|numeric|min_length[1]|max_length[11]|trim|xss_clean');
            $this->form_validation->set_rules('name_surname', 'İsim Soyisim', 'required|trim|xss_clean');
            $this->form_validation->set_rules('email', 'E-Posta', 'required');
            $this->form_validation->set_rules('phone', 'Telefon', 'required');
    
    
            if ($this->form_validation->run() != false) {
    
    
                $userdata = new stdClass();
                $userdata->name_surname = $this->input->post('name_surname', true);
                $userdata->email = $this->input->post('email', true);
                $userdata->phone = $this->input->post('phone', true);
                $userdata->password = password_hash("123456", PASSWORD_DEFAULT);
                $userdata->added_date = date('Y-m-d H:i:s');
    
                if (!$user = $this->model->userKontrol($userdata)) {
    
                     $this->result->error = $words->kullanici_bulunamadi_mesaji;
                $this->response();
    
                }
    
    
                $post_data->***** = $this->input->post('*****', true);
                $post_data->child = $this->input->post('child', true);
                $post_data->baby = $this->input->post('baby', true);
                $post_data->date_range = $this->input->post('date_range', true);
                $post_data->otel_packet = $this->input->post('otel_packet', true);
                $post_data->airline_packet = $this->input->post('airline_packet', true);
                $post_data->total_price = $this->input->post('tour_price', true);
                $post_data->user_id = $user->id;
                $post_data->tour_id = $this->input->post('tour', true);
                $post_data->added_date = date('Y-m-d H:i:s');
                $post_data->boarding_point = $this->input->post("boarding_point", true);
    
              
                
                
                $guest_info= array();
    
    // Existing code for 3 guests
    // ...
    
                $guest_info= array();
    
              if ($this->input->post("passengerName_y_3_opk_2", true) || $this->input->post("passengerName_y_3_opk_1", true) ){
                //  üç kişilik rezervasyon ve bir çift bir tek kişlik oda seçilmiş ise
                 $guest_info[]=array(
    
                     "passengerName_y_1"=>$this->input->post("passengerName_y_1_opk_2", true)?$this->input->post("passengerName_y_1_opk_2", true):$this->input->post("passengerName_y_1_opk_1", true),
                     "passengerGender_y_1"=>$this->input->post("passengerGender_y_1", true),
                     "passengerBirthdate_y_1"=>$this->input->post("passengerBirthdate_y_1", true),
                     "roomMate"=>1
    
                 );
                 $guest_info[]=array(
    
                     "passengerName_y_2"=>$this->input->post("passengerName_y_2_opk_2", true)?$this->input->post("passengerName_y_2_opk_2", true):$this->input->post("passengerName_y_2_opk_1", true),
                     "passengerGender_y_2"=>$this->input->post("passengerGender_y_2", true),
                     "passengerBirthdate_y_2"=>$this->input->post("passengerBirthdate_y_2", true),
                     "roomMate"=>1
    
    
                 );
                 $guest_info[]=array(
    
                     "passengerName_y_3"=>$this->input->post("passengerName_y_3_opk_2", true)?$this->input->post("passengerName_y_3_opk_2", true):$this->input->post("passengerName_y_3_opk_1", true),
                     "passengerGender_y_3"=>$this->input->post("passengerGender_y_3", true),
                     "passengerBirthdate_y_3"=>$this->input->post("passengerBirthdate_y_3", true),
                     "roomMate"=>0
    
                 );
    
             }
              elseif($this->input->post("passengerName_y_3_opk_3", true)){
                 // üç kişilik rezervasyon ve üç kişlik oda seçilmiş ise
                 $guest_info[]=array(
    
                     "passengerName_y_1"=>$this->input->post("passengerName_y_3_opk_3", true),
                     "passengerGender_y_1"=>$this->input->post("passengerGender_y_1", true),
                     "passengerBirthdate_y_1"=>$this->input->post("passengerBirthdate_y_1", true),
                     "roomMate"=>1
    
                 );
                 $guest_info[]=array(
    
                     "passengerName_y_2"=>$this->input->post("passengerName_y_2_opk_3", true),
                     "passengerGender_y_2"=>$this->input->post("passengerGender_y_2", true),
                     "passengerBirthdate_y_2"=>$this->input->post("passengerBirthdate_y_2", true),
                     "roomMate"=>1
    
    
                 );
                 $guest_info[]=array(
    
                     "passengerName_y_3"=>$this->input->post("passengerName_y_3_opk_3", true),
                     "passengerGender_y_3"=>$this->input->post("passengerGender_y_3", true),
                     "passengerBirthdate_y_3"=>$this->input->post("passengerBirthdate_y_3", true),
                     "roomMate"=>1
    
                 );
    
             }
              elseif($this->input->post("passengerName_y_2_opk_2", true)){
                 // 2 kişilik rezervasyon ve tek kişlik oda seçilmiş ise
    
                 $guest_info[]=array(
    
                     "passengerName_y_1"=>$this->input->post("passengerName_y_1_opk_2", true),
                     "passengerGender_y_1"=>$this->input->post("passengerGender_y_1", true),
                     "passengerBirthdate_y_1"=>$this->input->post("passengerBirthdate_y_1", true),
                     "roomMate"=>0
    
                 );   $guest_info[]=array(
    
                     "passengerName_y_2"=>$this->input->post("passengerName_y_2_opk_2", true),
                     "passengerGender_y_2"=>$this->input->post("passengerGender_y_2", true),
                     "passengerBirthdate_y_2"=>$this->input->post("passengerBirthdate_y_2", true),
                     "roomMate"=>0
    
                 );
             }
              elseif($this->input->post("passengerName_y_2_opk_1", true)){
                 // 2 kişilik rezervasyon ve iki kişlik oda seçilmiş ise
    
                 $guest_info[]=array(
    
                     "passengerName_y_1"=>$this->input->post("passengerName_y_1_opk_1", true),
                     "passengerGender_y_1"=>$this->input->post("passengerGender_y_1", true),
                     "passengerBirthdate_y_1"=>$this->input->post("passengerBirthdate_y_1", true),
                     "roomMate"=>1
    
                 );   $guest_info[]=array(
    
                     "passengerName_y_2"=>$this->input->post("passengerName_y_2_opk_1", true),
                     "passengerGender_y_2"=>$this->input->post("passengerGender_y_2", true),
                     "passengerBirthdate_y_2"=>$this->input->post("passengerBirthdate_y_2", true),
                     "roomMate"=>1
    
                 );
             }
              elseif($this->input->post("passengerName_y_1_opk_2", true)){
                 // tek kişilik rezervasyon ve iki kişlik oda seçilmiş ise
    
                 $guest_info[]=array(
    
                     "passengerName_y_1"=>$this->input->post("passengerName_y_1_opk_2", true),
                     "passengerGender_y_1"=>$this->input->post("passengerGender_y_1", true),
                     "passengerBirthdate_y_1"=>$this->input->post("passengerBirthdate_y_1", true),
                     "roomMate"=>0
    
                 );
             }
              elseif ($this->input->post("passengerName_y_1_opk_1", true)){
                  $guest_info[]=array(
    
                      "passengerName_y_1"=>$this->input->post("passengerName_y_1_opk_1", true),
                      "passengerGender_y_1"=>$this->input->post("passengerGender_y_1", true),
                      "passengerBirthdate_y_1"=>$this->input->post("passengerBirthdate_y_1", true),
                      "roomMate"=>0
    
                  );
              }
    
                $post_data->guest_info = json_encode($guest_info);
    
                /**  GUEST İNFO END */
    
                $mail_data->***** = $post_data->*****;
                $mail_data->child = $post_data->child;
                $mail_data->baby = $post_data->baby;
                $mail_data->date_range = $post_data->date_range;
                $mail_data->otel_packet = $post_data->otel_packet;
                $mail_data->airline_packet = $post_data->airline_packet;
                $mail_data->total_price = $post_data->total_price;
                $mail_data->payment_method = 'Havale';
                $mail_data->tour_name = $this->model->get_tour_name($post_data->tour_id)->title;
                $mail_data->user_email = $user->email;
                $mail_data->name_surname = $user->name_surname;
                $mail_data->phone = $user->phone;
                $mail_data->guest_info = $guest_info;
    
                if (!$this->model->control_reservation($post_data->user_id, $post_data->tour_id)) {
                    if ($this->model->add_reservation($post_data)) {
                        $this->mail->send_reservation_mail($mail_data);
                        $this->mail->send_reservation_mail_admin($mail_data);
                        $this->result->status = true;
                        $this->result->message = $words->rezervasyon_basarili_mesaj;
                    } else {
                        $this->result->error = "Ekleme Esnasında Bir Hata Oluştu Lütfen Tekrar Deneyin";
                    }
                } else {
                    $this->result->error = "Bu Tura Rezervasyon Yapılmıştır";
                }
            } else {
                if (form_error('*****')) {
                    $this->result->error = form_error('*****');
                } else if (form_error('child')) {
                    $this->result->error = form_error('child');
                } else if (form_error('baby')) {
                    $this->result->error = form_error('baby');
                } else if (form_error('date_range')) {
                    $this->result->error = form_error('date_range');
                } else if (form_error('otel_packet')) {
                    $this->result->error = form_error('otel_packet');
                } else if (form_error('airline_packet')) {
                    $this->result->error = form_error('airline_packet');
                } else if (form_error('tour_price')) {
                    $this->result->error = form_error('tour_price');
                } else if (form_error('tour')) {
                    $this->result->error = form_error('tour');
                }
                else if (form_error('name_surname')) {
                    $this->result->error = form_error('name_surname');
                }
                else if (form_error('email')) {
                    $this->result->error = form_error('email');
                }
                else if (form_error('phone')) {
                    $this->result->error = form_error('phone');
                }
            }
    
            $this->response();
        }
  • 26-09-2023, 21:30:00
    #2
    Burada biraz AnyDesk'lik iş var, yani müsait bir arkadaşın uzaktan bağlanıp incelemesi icap ediyor, buradan toparlamak gereksiz yorar. Online görürseniz beni yazarsınız.