224 lines
9.3 KiB
PHP
224 lines
9.3 KiB
PHP
<nav class="navbar fixed-top">
|
|
<div id="specificCard" class="card col-12" style="border-radius: 20px; background: none; border: none; margin-top: 10px;">
|
|
<div class="row">
|
|
<div class="col-6 icon-container">
|
|
<a href="index.php" class="fa fa-arrow-left text-light"></a>
|
|
</div>
|
|
<div class="col-6 text-right">
|
|
<h6 class="text-light mt-2 mb-2">Setting Akun</h6>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div class="card" style="border-radius: 0px; background: none; border: none; margin-top: 100px;">
|
|
<div class="card-body">
|
|
|
|
<!--<button onclick="tampilkanNama()">Tampilkan Nama</button>-->
|
|
</div>
|
|
</div>
|
|
<div class="card" id="2" style="border-top-right-radius: 40px; border-top-left-radius: 40px; min-height: 800px; border: none; z-index: 1;">
|
|
<div class="card-body m-4">
|
|
<center>
|
|
<img id="profileImage" src="profile/<?php echo $pcmem['profile']; ?>" class="rounded-circle" width="130px" onclick="document.getElementById('fileInput').click();">
|
|
<form action="" method="post" enctype="multipart/form-data" style="display:none;">
|
|
<input type="file" name="profile" id="fileInput" accept="image/*" onchange="this.form.submit();">
|
|
</form><br>
|
|
<i><small>Klik untuk ubah</small></i><br><hr>
|
|
</center>
|
|
<form method="post" enctype="multipart/form-data">
|
|
<div class="form-group">
|
|
<label><small>Email Pengguna</small></label>
|
|
<input type="email" name="email" class="form-control" style="border-top: none;border-left: none;border-right: none;" required="required" value="<?php echo $pcmem['email']; ?>" disabled>
|
|
</div>
|
|
<div class="form-group">
|
|
<label><small>Nama Pengguna</small></label>
|
|
<input type="text" name="nama" class="form-control" style="border-top: none;border-left: none;border-right: none;" required="required" value="<?php echo $pcmem['nama']; ?>" disabled>
|
|
</div>
|
|
<div class="form-group">
|
|
<label><small>Alamat Pengguna</small></label>
|
|
<input type="text" name="alamat" class="form-control" style="border-top: none;border-left: none;border-right: none;" required="required" value="<?php echo $pcmem['alamat']; ?>" disabled>
|
|
</div>
|
|
<div class="form-group">
|
|
<label><small>Nomor Telepon</small></label>
|
|
<input type="text" name="nohp" class="form-control" style="border-top: none;border-left: none;border-right: none;" required="required" value="<?php echo $pcmem['nomor_whatsapp']; ?>" disabled>
|
|
</div><br>
|
|
<center><p><u>Ubah Password</u></p></center>
|
|
<div class="form-group">
|
|
<label><small>Password Baru</small></label>
|
|
<div class="input-group mb-4">
|
|
<input type="password" class="form-control" name="new_password" style="border-top: none;border-left: none;border-right: none;">
|
|
<div class="input-group-append">
|
|
<div class="input-group-text" style="background: none; border-top: none;border-left: none;border-right: none;">
|
|
<span class="fas fa-eye toggle-password" style="cursor: pointer;"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label><small>Ulangi Password Baru</small></label>
|
|
<div class="input-group mb-4">
|
|
<input type="password" class="form-control" name="confirm_password" style="border-top: none;border-left: none;border-right: none;">
|
|
<div class="input-group-append">
|
|
<div class="input-group-text" style="background: none; border-top: none;border-left: none;border-right: none;">
|
|
<span class="fas fa-eye toggle-password" style="cursor: pointer;"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<input type="submit" name="update" style="border-radius: 20px; margin-top: 50px; margin-bottom: 50px;" class="btn btn-warning btn-rouded btn-block" value="Simpan Perubahan" />
|
|
<!--<p id="deviceInfo">Loading device info...</p>-->
|
|
|
|
<!--<p id="token"></p>-->
|
|
<!--<p id="handphone"></p>-->
|
|
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
// Proses upload gambar
|
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
|
if(isset($_POST['update'])) {
|
|
if (!empty($_POST['new_password']) || !empty($_POST['confirm_password'])) {
|
|
if ($_POST['new_password'] === $_POST['confirm_password']) {
|
|
$password = $_POST['new_password'];
|
|
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
|
|
$isNewPassword = true; // Menandakan bahwa password baru digunakan
|
|
} else {
|
|
sweetAlert("Password tidak sama, silahkan periksa kembali", "error");
|
|
exit; // Menghentikan eksekusi lebih lanjut jika password tidak cocok
|
|
}
|
|
} else {
|
|
$hashedPassword = $pcmem['password']; // Menggunakan password lama jika tidak ada yang diinput
|
|
$isNewPassword = false; // Tidak ada password baru
|
|
}
|
|
if (substr($_POST['nohp'], 0, 2) == '62') {
|
|
$handphone = $_POST['nohp'];
|
|
} else {
|
|
$handphone = '62' . substr($_POST['nohp'], 1);
|
|
}
|
|
try {
|
|
// $stmt = $pdo->prepare("UPDATE agen_voucher SET email = :email, nama = :nama, alamat = :alamat, nomor_whatsapp = :nomor_whatsapp, password = :password WHERE id = :id");
|
|
|
|
// $stmt->bindParam(':email', $_POST['email']);
|
|
// $stmt->bindParam(':nama', $_POST['nama']);
|
|
// $stmt->bindParam(':alamat', $_POST['alamat']);
|
|
// $stmt->bindParam(':nomor_whatsapp', $handphone);
|
|
// $stmt->bindParam(':password', $hashedPassword);
|
|
// $stmt->bindParam(':id', $_SESSION['agen'], PDO::PARAM_INT);
|
|
|
|
$stmt = $pdo->prepare("UPDATE agen_voucher SET password = :password WHERE id = :id");
|
|
|
|
$stmt->bindParam(':password', $hashedPassword);
|
|
$stmt->bindParam(':id', $_SESSION['agen'], PDO::PARAM_INT);
|
|
|
|
if ($stmt->execute()) {
|
|
if ($isNewPassword) {
|
|
session_destroy(); // Hancurkan sesi jika password baru diubah
|
|
sweetAlert("Data Berhasil diubah, silahkan Login Kembali", "success");
|
|
} else {
|
|
sweetAlert("Data Berhasil diubah", "success");
|
|
}
|
|
} else {
|
|
sweetAlert("Gagal memperbarui data, silahkan coba lagi", "error");
|
|
}
|
|
} catch (PDOException $e) {
|
|
sweetAlert("Terjadi kesalahan: " . $e->getMessage(), "error");
|
|
}
|
|
} else {
|
|
$target_dir = "profile/";
|
|
$imageFileType = strtolower(pathinfo($_FILES["profile"]["name"], PATHINFO_EXTENSION));
|
|
|
|
// Membuat nama file baru
|
|
$new_file_name = "profile_" . date('YmdHis') . "." . $imageFileType;
|
|
$target_file = $target_dir . $new_file_name;
|
|
$uploadOk = 1;
|
|
|
|
// Cek apakah file gambar adalah gambar yang sebenarnya
|
|
$check = getimagesize($_FILES["profile"]["tmp_name"]);
|
|
if ($check === false) {
|
|
sweetAlert("File bukan gambar.","error");
|
|
$uploadOk = 0;
|
|
}
|
|
|
|
// Cek ukuran file
|
|
if ($_FILES["profile"]["size"] > 10000000) {
|
|
sweetAlert("Maaf, ukuran file terlalu besar.","error");
|
|
$uploadOk = 0;
|
|
}
|
|
|
|
// Cek format file
|
|
if (!in_array($imageFileType, ["jpg", "png", "jpeg", "gif"])) {
|
|
|
|
sweetAlert("Maaf, hanya file JPG, JPEG, PNG & GIF yang diperbolehkan.","error");
|
|
$uploadOk = 0;
|
|
}
|
|
|
|
// Jika semua baik-baik saja, maka upload file
|
|
if ($uploadOk == 1) {
|
|
if (move_uploaded_file($_FILES["profile"]["tmp_name"], $target_file)) {
|
|
// Simpan nama file baru ke database
|
|
$id = $_SESSION['agen'];
|
|
$sql = "UPDATE agen_voucher SET profile = '$new_file_name' WHERE id = $id";
|
|
if ($con->query($sql) === TRUE) {
|
|
sweetAlert("Profile telah di ubah","success");
|
|
} else {
|
|
sweetAlert("Error: " . $sql . "<br>" . $conn->error,"error");
|
|
}
|
|
} else {
|
|
|
|
sweetAlert("Maaf, terjadi kesalahan saat mengunggah file.","error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
?>
|
|
<script>
|
|
// Optional: Menampilkan preview gambar setelah pemilihan file
|
|
document.getElementById('fileInput').addEventListener('change', function(event) {
|
|
const file = event.target.files[0];
|
|
if (file) {
|
|
const reader = new FileReader();
|
|
reader.onload = function(e) {
|
|
document.getElementById('profileImage').src = e.target.result;
|
|
}
|
|
reader.readAsDataURL(file);
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
document.querySelectorAll('.toggle-password').forEach(function(toggle) {
|
|
toggle.addEventListener('click', function() {
|
|
// Mengambil elemen input yang bersangkutan
|
|
const input = this.closest('.input-group').querySelector('input');
|
|
|
|
// Mengubah tipe input
|
|
if (input.type === 'password') {
|
|
input.type = 'text';
|
|
this.classList.remove('fa-eye');
|
|
this.classList.add('fa-eye-slash');
|
|
} else {
|
|
input.type = 'password';
|
|
this.classList.remove('fa-eye-slash');
|
|
this.classList.add('fa-eye');
|
|
}
|
|
});
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
<script>
|
|
// Retrieving data from localStorage
|
|
var token = localStorage.getItem('token');
|
|
var handphone = localStorage.getItem('handphone');
|
|
|
|
// Displaying data in HTML elements
|
|
document.getElementById('token').innerText = "Token: " + token;
|
|
document.getElementById('handphone').innerText = "Handphone: " + handphone;
|
|
</script>
|
|
|
|
|
|
|