Untitled
unknown
php
2 years ago
5.4 kB
9
Indexable
<?php session_start(); require_once '../../../helper/connection.php'; $nik = $_POST['nik']; $nama_lengkap = $_POST['nama_lengkap']; $no_tps = $_POST['no_tps']; $alamat = $_POST['alamat']; $kelurahan = $_POST['kelurahan']; $kecamatan = $_POST['kecamatan']; $kabupaten = $_POST['kabupaten']; $no_hp = $_POST['no_hp']; $wilprovinsi = isset($_POST['wilprovinsi']) ? 'true' : 'false'; $wilkabupaten = isset($_POST['wilkabupaten']) ? 'true' : 'false'; $wilpusat = isset($_POST['wilpusat']) ? 'true' : 'false'; $tim_pendata = $_POST['tim_pendata']; $no_hp_tim_pendata = $_POST['no_hp_tim_pendata']; // Normalisasi nomor HP $no_hp = preg_replace("/[^0-9]/", "", $_POST['no_hp']); // Normalisasi nomor HP tim pendata $no_hp_tim_pendata = preg_replace("/[^0-9]/", "", $_POST['no_hp_tim_pendata']); // Mengubah nomor yang dimulai dengan +62 menjadi 0 if (substr($no_hp, 0, 2) === "62") { $no_hp = "0" . substr($no_hp, 2); } if (substr($no_hp_tim_pendata, 0, 2) === "62") { $no_hp_tim_pendata = "0" . substr($no_hp_tim_pendata, 2); } // Pemeriksaan apakah NIK sudah ada dan periksa tim_pendata yang menginput // $checkDuplicateQuery = "SELECT kecamatan, kelurahan, kabupaten FROM data_pemilih WHERE nik = ? LIMIT 1"; // $checkDuplicateQuery = "SELECT dp.kecamatan, dp.kelurahan, dp.kabupaten, pt.nama AS nama_pendata // FROM data_pemilih dp // LEFT JOIN pendata pt ON dp.tim_pendata = pt.id // WHERE dp.nik = ? LIMIT 1"; // $checkDuplicateQuery = "SELECT pt.nama AS nama_pendata, pt.kecamatan AS kecamatan_pendata, pt.kelurahan AS kelurahan_pendata, // dp.kecamatan AS kecamatan_pemilih, dp.kelurahan AS kelurahan_pemilih, // dp.kabupaten AS kabupaten_pemilih // FROM data_pemilih dp // LEFT JOIN pendata pt ON dp.tim_pendata = pt.id // WHERE dp.nik = ? LIMIT 1"; $checkDuplicateQuery = "SELECT pt.nama AS nama_pendata, d1.name AS kecamatan_pendata, v1.name AS kelurahan_pendata, d2.name AS kecamatan_pemilih, v2.name AS kelurahan_pemilih, dp.kabupaten AS kabupaten_pemilih FROM data_pemilih dp LEFT JOIN pendata pt ON dp.tim_pendata = pt.id LEFT JOIN districts d1 ON pt.kecamatan = d1.id LEFT JOIN villages v1 ON pt.kelurahan = v1.id LEFT JOIN districts d2 ON dp.kecamatan = d2.id LEFT JOIN villages v2 ON dp.kelurahan = v2.id WHERE dp.nik = ? LIMIT 1"; // Persiapkan statement $stmtCheckDuplicate = mysqli_prepare($connection, $checkDuplicateQuery); // Bind parameter ke statement mysqli_stmt_bind_param($stmtCheckDuplicate, "s", $nik); // Eksekusi statement mysqli_stmt_execute($stmtCheckDuplicate); // Ambil hasil query mysqli_stmt_store_result($stmtCheckDuplicate); // Bind kolom ke variabel mysqli_stmt_bind_result($stmtCheckDuplicate, $namaPendata, $kecamatanPendata, $kelurahanPendata, $kecamatanPemilih, $kelurahanPemilih, $kabupatenPemilih); // Periksa jumlah baris yang dikembalikan if (mysqli_stmt_num_rows($stmtCheckDuplicate) > 0) { // Fetch nilai dari kolom mysqli_stmt_fetch($stmtCheckDuplicate); // NIK sudah ada, berikan pesan dan arahkan kembali ke halaman input $_SESSION['info'] = [ 'status' => 'failed', 'message' => 'NIK sudah terdaftar Oleh ' . $namaPendata . ' dari kecamatan ' . $kecamatanPendata . ' dan kelurahan ' . $kelurahanPendata ]; header('Location: ./create.php'); exit(); } // Tutup statement pemeriksaan duplikasi mysqli_stmt_close($stmtCheckDuplicate); // Jika NIK belum ada, lakukan penyisipan // Persiapkan query dengan parameter // $query = "INSERT INTO data_pemilih (nik, nama_lengkap, no_tps, alamat, kelurahan, kecamatan, kabupaten, no_hp, tim_pendata, no_hp_tim_pendata) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; $query = "INSERT INTO data_pemilih ( nik, nama_lengkap, no_tps, alamat, kelurahan, kecamatan, kabupaten, no_hp, wilprovinsi, wilkabupaten, wilpusat, tim_pendata, no_hp_tim_pendata ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; // Persiapkan statement $stmt = mysqli_prepare($connection, $query); // Bind parameter ke statement // mysqli_stmt_bind_param($stmt, "ssssssssss", $nik, $nama_lengkap, $no_tps, $alamat, $kelurahan, $kecamatan, $kabupaten, $no_hp, $tim_pendata, $no_hp_tim_pendata); mysqli_stmt_bind_param( $stmt, "ssssssssssss", $nik, $nama_lengkap, $no_tps, $alamat, $kelurahan, $kecamatan, $kabupaten, $no_hp, $wilprovinsi, $wilkabupaten, $wilpusat, $tim_pendata, $no_hp_tim_pendata ); // Eksekusi statement $result = mysqli_stmt_execute($stmt); if ($result) { $_SESSION['info'] = [ 'status' => 'success', 'message' => 'Berhasil menambah data' ]; header('Location: ./list.php'); } else { $_SESSION['info'] = [ 'status' => 'failed', 'message' => mysqli_error($connection) ]; header('Location: ./create.php'); } // Tutup statement mysqli_stmt_close($stmt);
Editor is loading...