Windows:
Unduh installer dari:
👉 https://getcomposer.org/Composer-Setup.exe- composer require phpmailer/phpmailer
Gmail sekarang tidak mengizinkan login dengan password biasa. Kamu wajib membuat App Password.
✅ Solusi:
-
Aktifkan 2-Step Verification di Gmail kamu.
-
Buat App Password, misalnya untuk "Mail" → "Other" →
iFishCare
. -
Copy password-nya (16 karakter, contoh:
abcd efgh ijkl mnop
) -
Pakai ini:
<?php
require_once "../konmysqli.php";
require_once __DIR__ . '/../vendor/autoload.php'; // Autoload Composer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$respon = array();
if (isset($_GET['nama_pengguna'], $_GET['email'], $_GET['telepon'], $_GET['password'], $_GET['konfirmasi_password'])) {
// Ambil data dari GET
$nama_pengguna = $_GET['nama_pengguna'];
$foto = $_GET['foto'] ?? ''; // Optional
$email = $_GET['email'];
$telepon = $_GET['telepon'];
$username = $_GET['username'] ?? $email; // Default username = email jika tidak diisi
$password = $_GET['password'];
$konfirmasi_password = $_GET['konfirmasi_password'];
// Default value
$level = "Pekerja";
$status = "Aktif";
$keterangan = "Register By Mobile";
// Validasi password
if ($password !== $konfirmasi_password) {
$respon["sukses"] = 0;
$respon["pesan"] = "Password dan konfirmasi tidak cocok.";
echo json_encode($respon);
exit();
}
// Enkripsi password (lebih aman)
$password_hash = password_hash($password, PASSWORD_BCRYPT);
$sql = "INSERT INTO `$tbpengguna` (
`id_pengguna`, `nama_pengguna`, `foto`, `level`, `username`, `password`, `telepon`, `email`, `status`, `keterangan`
) VALUES (
'',
'$nama_pengguna',
'$foto',
'$level',
'$username',
'$password_hash',
'$telepon',
'$email',
'$status',
'$keterangan'
)";
$simpan = process($conn, $sql);
if ($simpan) {
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'nicomarvels07@gmail.com';
$mail->Password = 'xgbt hmpz tnvz rxtm';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('nicomarvels07@gmail.com', 'Admin iFishCare');
$mail->addAddress($email, $nama_pengguna);
$mail->isHTML(true);
$mail->Subject = 'Konfirmasi Pendaftaran iFishCare';
$mail->Body = "
<h3>Hai $nama_pengguna!</h3>
<p>Terima kasih telah mendaftar di <strong>iFishCare</strong>.</p>
<p>Akun kamu berhasil dibuat dan sekarang aktif.</p>
<br>
<p>Salam,<br>Tim Admin iFishCare</p>
";
$mail->send();
$respon["sukses"] = 1;
$respon["pesan"] = "Pendaftaran berhasil & email terkirim.";
} catch (Exception $e) {
$respon["sukses"] = 1;
$respon["pesan"] = "Pendaftaran berhasil, tapi email gagal dikirim: {$mail->ErrorInfo}";
}
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "Gagal menyimpan data pengguna.";
}
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "Data tidak lengkap.";
}
echo json_encode($respon);
?>
0 Komentar