Ajax запрос выполняется несколько раз

177
23 декабря 2018, 18:00

есть ajax запрос

 $(document).ready(function () {
       var btn = $('.open-modal-btn'),
         btn.on('click', function() {
                        modal.fadeIn();
                        var regi = $('#region').val();
                        var addr = $('#address').val();
                        $('#regi').empty().append(regi);
                        $('#addr').empty().append(addr);
                        $('#request').click(function () {
                           $.ajax({
                               type: "POST",
                               url: "savetable.php",
                               data: {  region: $('#region').val(),
                                        fulladdress: $('#address').val() + ' подъезд ' + $('#entrance').val() + ' этаж ' + $('#level').val() + ' офис ' +  $('#office').val(),
                                        cityphone: $('#cityphone').val(),
                                        intphone: $('#intphone').val()
                               },
                               success: function (data) {
                                   alert('Запись сохранена');
                                   console.log(data);
                                   modal.fadeOut();
                               },
                               error: function (xhr, ajaxOptions, thrownError) {
                                alert(xhr.status);
                                alert(thrownError);
                               }
                           });
                        });
                    });
    });

файл savetable.php

if(isset($_POST['fulladdress']) && isset($_POST['region'])){
    $res = array();
    $region = strip_tags(($_POST['region']));
    $faddress = strip_tags(($_POST['fulladdress']));
    $cityphone = strip_tags($_POST['cityphone']);
    $intphone = strip_tags($_POST['intphone']);
    $query = "SELECT * FROM reg_office_area WHERE area = '".$region."'";
    $request = mysql_query($query);
    while ($row = mysql_fetch_array($request)){
        $res['id'] = $row['id'];
        $res['area'] = $row['area'];
    }
    $query = "INSERT INTO reg_office(id_area,city_name,city_phone,int_phone,address) VALUES ('".$res['id']."','".$region."','".$cityphone."','".$intphone."','".$faddress."')";
    $request = mysql_query($query);
}else{
    echo 'Вы не заполнили все поля';
}

После того как я нажимаю на элемент #request , происходит INSERT строки в БД. Если я нажимаю на элемент #request второй раз, заполняю поля , происходит INSERT 2-х одинаковых строк, если третий раз INSERT 3-х строк и т.д, если обновить страницу то все начинается с начала, сначала одна строка потом две и т.д.

Почему это происходит? Как это поправить?

READ ALSO
Взаимодействие React и PHP

Взаимодействие React и PHP

Подскажите как можно подробнее и понятнее, как можно связать главный файл React со всеи параметрами в стейте и файл бекэнда на php, например с помощью...

159
Сделать из номера телефона картинку и вывести на сайте

Сделать из номера телефона картинку и вывести на сайте

В базе mysql хранятся номера телефоновЧтобы избежать спама и звонков у клиентов - нужно вывести эти телефоны на сайте в виде картинок

173
SQL group by и order by вместе

SQL group by и order by вместе

составляю sql запрос через query builer в code igniterВозникла такая проблема:

198
Проблема с внутренними страницами WP

Проблема с внутренними страницами WP

Вечер добрый, развернул сайт у себя на локалкеИ при переходе на внутренние страницы выдает

188