Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Eror Mengirim Email berdasarkan tanggal
Yth Para Suhu Saya sedang memmbuat PHP mengirim email otomatis berdasarkan tanggal pengirim yang berasal dari database tetapi saya mendapat eror Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\permintaan_barang3\index2.php on line 44
Mohon untuk bantuannya Terima Kasih untuk source code nya
<?php
date_default_timezone_set('Asia/Jakarta');
include "fungsi/koneksi.php";
$date = date("Y-m-d");
$query = mysqli_query($koneksi, "SELECT * from data_kontrak where tanggal_pemberitahuan='$date'");
if (mysqli_num_rows($query))
{
while($row=mysqli_fetch_assoc($query)):
{
$tanggal_selesai = $row['tanggal_selesai'];
$nomor_kontrak = $row['nomor_kontrak'];
$nama_kontrak = $row['nama_kontrak'];
}
require("PHPMailer/src/PHPMailer.php");
require("PHPMailer/src/SMTP.php");
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";//"smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "hanyainfosaja@gmail.com";
$mail->Password = "Merdek41745";
$mail->setFrom('hanyainfosaja@gmail.com', 'Purchasing');
$mail->Subject ="Pemberitahuan Kontrak Habis Nomor $nomor_kontrak";
$mail->Body ="Kontrak dengan nomor $nomor dengan nama kontrak $nama_kontrak akan berakhir pada tanggal $tanggal_selesai";
$mail->addAddress('beritahu@gmail.com');
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
} else
{
echo "Message has been sent";
}
}
?>
2 Jawaban:
Arti error
- Parse error: syntax error, unexpected '}' in on line 44
Berarti ada tanga baca '}' pada baris 44 di kode kamu. Silahkan dicek baik baik
Kesalahan yang Anda alami disebabkan oleh kurung kurawal penutup yang hilang (}
) pada baris 44. Kode pada baris tersebut seharusnya menjadi:
} else {
echo "Tidak ada kontrak yang ditemukan hari ini.";
}
Tanpa kurung kurawal penutup, penerjemah PHP akan mengharapkan adanya pernyataan lain, tetapi tidak ada. Ini menyebabkan kesalahan sintaksis.
Setelah Anda menambahkan kurung kurawal penutup, kode seharusnya berjalan tanpa kesalahan.
Berikut adalah kode lengkap dengan kesalahan diperbaiki:
date_default_timezone_set('Asia/Jakarta');
include "fungsi/koneksi.php";
$date = date("Y-m-d");
$query = mysqli_query($koneksi, "SELECT * from data_kontrak where tanggal_pemberitahuan='$date'");
if (mysqli_num_rows($query)) {
while ($row = mysqli_fetch_assoc($query)) {
$tanggal_selesai = $row['tanggal_selesai'];
$nomor_kontrak = $row['nomor_kontrak'];
$nama_kontrak = $row['nama_kontrak'];
require("PHPMailer/src/PHPMailer.php");
require("PHPMailer/src/SMTP.php");
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com"; //"smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "hanyainfosaja@gmail.com";
$mail->Password = "Merdek41745";
$mail->setFrom('hanyainfosaja@gmail.com', 'Purchasing');
$mail->Subject = "Pemberitahuan Kontrak Habis Nomor $nomor_kontrak";
$mail->Body = "Kontrak dengan nomor $nomor_kontrak dan nama kontrak $nama_kontrak akan berakhir pada tanggal $tanggal_selesai";
$mail->addAddress('beritahu@gmail.com');
if (!$mail->Send()) {
echo "Kesalahan Pengiriman Email: " . $mail->ErrorInfo;
} else {
echo "Pesan telah terkirim";
}
}
} else {
echo "Tidak ada kontrak yang ditemukan hari ini.";
}
?>