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";
     }
}
?>
avatar dsindu
@dsindu

19 Kontribusi 1 Poin

Diperbarui 1 tahun yang lalu

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

avatar hilmanski
@hilmanski

2685 Kontribusi 2135 Poin

Dipost 1 tahun yang lalu

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.";
}
?>
avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban