Sweet alert подтвердите, а затем сохраните данные в базе данных

Я хочу сохранить данные в базу данных, но перед этим я должен проверить условие имени. Если имя доступно, появится всплывающее окно с подтверждением (я использую сладкое оповещение). Я уже пробовал этот код, но он не может выполнить функцию для сохранения данных. Кто-нибудь может мне помочь?

код :

 $name = $_POST['name'];
 $cekname = mysql_query("select * from data_alumni where name='$name'");
 $jumlahnama = mysql_num_rows($cekname);

 if ($jumlahname > 0) {
     echo '<script>swal({ title: "Are you sure?", text: "name is available, continue save?", type: "warning", showCancelButton: true, confirmButtonColor:"#DD6B55",  confirmButtonText: "Yes, delete it!",   closeOnConfirm: false }, function(){' . savedata($nama) . '});</script>';
 } else { 
     #other function 
 }

person Zeus234    schedule 11.01.2017    source источник
comment
PHP может отображать код Javascript на странице, отправленной клиенту, как вы делаете, но этот код Javascript не может напрямую вызывать код PHP на сервере, потому что он выполняется на клиенте, а не на сервере.   -  person Dan Getz    schedule 11.01.2017
comment
о, хорошо, Дэн, спасибо за ваш вопрос .. он решен, потому что я использую jquery ajax :)   -  person Zeus234    schedule 11.01.2017


Ответы (2)


  1. Проверьте свой запрос — вам нужно объединить переменные с помощью оператора точки (например, .):
    $ceknama = mysql_query("select * from data_alumni where nama='".$nama."'");
  2. Используйте метод Javascipt confirm() после вызова AJAX для интерактивного взаимодействия со сценарием PHP и базой данных.
person Devi Veeramalla    schedule 11.01.2017

Php (клиентская сторона):

 document.querySelector('#form-input-biodata').addEventListener('submit', function (e) {
    var form = this;
    e.preventDefault();
    var nama = $("#nama-alumni").val();
    var ceknama = 'ceknama=' + nama;
    $.ajax({
        type: "POST",
        url: "url file php",
        data: ceknama,
        cache: false,
        success: function (jumlahnama) {
            if (jumlahnama == "0") {
                form.submit();

            } else {
                swal({
                    title: "Konfirmasi?",
                    text: "Nama telah terdaftar, Ingin Melanjutkan?!",
                    type: "warning",
                    showCancelButton: true,
                    confirmButtonColor: "#DD6B55",
                    confirmButtonText: "Yes",
                    closeOnConfirm: false
                },
                        function () {
                            form.submit();
                        });
            }
        }
    });
});

серверная часть:

if (isset($_POST['ceknama'])) {
include 'connection.php';
$nama = isset($_POST['ceknama']) ? addslashes($_POST['ceknama']) : "";
$hubung = mysql_query("its my query");
$total = mysql_num_rows($hubung);
echo $total;}
person Zeus234    schedule 11.01.2017