Untitled
unknown
php
2 years ago
5.4 kB
11
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...