Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Lihat artikel asli : http://www.akbarnss.com/2016/12/membuat-form-registrasi-dengan-notifikasi-email.html
- Database
- CREATE TABLE `registrasi` (
- `id` varchar(20),
- `nama` varchar(100),
- `alamat` varchar(100),
- `email` varchar(50),
- PRIMARY KEY (`id`)
- )
- Form.html
- <html>
- <head>
- <title>Form Registrasi</title>
- </head>
- <body>
- <h1>Form Registrasi</h1>
- <form method="post" action="proses.php">
- <table>
- <tr><td>Nama Lengkap</td><td>:</td><td><input type="text" name="nama"></td></tr>
- <tr><td>Alamat</td><td>:</td><td><input type="text" name="alamat"></td></tr>
- <tr><td>Email</td><td>:</td><td><input type="text" name="email"></td></tr>
- </table>
- <input type="submit" name="submit" value="REGISTER">
- </form>
- </body>
- </html>
- koneksi.php
- [tpcolor=#FF0000]<?php
- // isikan parameter koneksi databasenya
- $dbhost = "...";
- $dbuser = "...";
- $dbpass = "...";
- $dbname = "...";
- mysql_connect($dbhost, $dbuser, $dbpass);
- mysql_select_db($dbname);
- ?>[tpcolor=#FF0000][/tpcolor]
- [tpb]proses.php[/tpb]
- [tpcolor=#0000FF]<?php
- // koneksi ke database
- include 'koneksi.php';
- include 'email.php';
- // function untuk mengenerate ID registrasi unik
- // dengan format 'TRX-----', mis: TRX00001
- function newID()
- {
- $query = "SELECT max(id) as maxID FROM registrasi";
- $hasil = mysql_query($query);
- $data = mysql_fetch_array($hasil);
- $idMax = $data['maxID'];
- $noUrut = (int) substr($idMax, 3, 5);
- $noUrut++;
- $id = 'TRX' . sprintf("%05s", $noUrut);
- return $id;
- }
- $nama = $_POST['nama'];
- $alamat = $_POST['alamat'];
- $email = $_POST['email'];
- // mengenerate ID registrasi baru
- $id = newID();
- // menyimpan data registrasi ke db
- $query = "INSERT INTO registrasi (id, nama, alamat, email) VALUES ('$id', '$nama', '$alamat', '$email')";
- $hasil = mysql_query($query);
- if ($hasil) {
- echo "Registrasi sukses, form bukti registrasi akan dikirim ke email Anda";
- // kirim email dg attachment file PDF bukti registrasi
- kirimEmail($id, $email);
- }
- else echo "Registrasi gagal";
- ?>[/tpcolor]
- [tpb]pdf.php[/tpb]
- [tpcolor=#FF0000]<?php
- // membuat file PDF registrasi berdasarkan ID
- include 'koneksi.php';
- include 'fpdf.php';
- $id = $_GET['id'];
- $query = "SELECT * FROM registrasi WHERE id = '$id'";
- $hasil = mysql_query($query);
- $data = mysql_fetch_array($hasil);
- $pdf=new FPDF('P','mm','A4');
- $pdf->AddPage();
- $pdf->SetFont('Times','',12);
- $pdf->Cell(30,10,'ID Registrasi',0,0,'L');
- $pdf->Cell(5,10,':',0,0,'L');
- $pdf->Cell(100,10,$data['id'],0,1,'L');
- $pdf->Cell(30,10,'Nama Lengkap',0,0,'L');
- $pdf->Cell(5,10,':',0,0,'L');
- $pdf->Cell(100,10,$data['nama'],0,1,'L');
- $pdf->Cell(30,10,'Alamat Rumah',0,0,'L');
- $pdf->Cell(5,10,':',0,0,'L');
- $pdf->Cell(100,10,$data['alamat'],0,1,'L');
- $pdf->Cell(30,10,'E-mail',0,0,'L');
- $pdf->Cell(5,10,':',0,0,'L');
- $pdf->Cell(50,10,$data['email'],0,1,'L');
- $pdf->Output();
- ?>
- email.pdf
- <?php
- // function untuk membaca konten file
- function get_content($url){
- $data = curl_init();
- curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($data, CURLOPT_URL, $url);
- $hasil = curl_exec($data);
- curl_close($data);
- return $hasil;
- }
- // function pengiriman email dengan attachment
- function kirimEmail($id, $email)
- {
- // setting nama file attachment
- $namafile = "registrasi.pdf";
- // MIME type file PDF sbg attachment
- $fileType = "application/x-pdf";
- // setting pesan intro di email
- $introPesan = "Terimakasih sudah melakukan registrasi. Bukti registrasi ada di attachment email ini, silakan disimpan.";
- // membaca isi file pdf registrasi berdasarkan id
- // yang dihasilkan oleh script pdf.php
- $fileContent = get_content("http://localhost/fpdf/pdf.php?id=".$id);
- // membuat attachment di email
- $semi_rand = md5(time());
- $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
- $headers = "MIME-Version: 1.0\n" .
- "Content-Type: multipart/mixed;\n" .
- " boundary=\"{$mime_boundary}\"";
- $pesan = "This is a multi-part message in MIME format.\n\n" .
- "--{$mime_boundary}\n" .
- "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
- "Content-Transfer-Encoding: 7bit\n\n" .
- $introPesan . "\n\n";
- $data = chunk_split(base64_encode($fileContent));
- $pesan .= "--{$mime_boundary}\n" .
- "Content-Type: {$fileType};\n" .
- " name=\"{$namafile}\"\n" .
- "Content-Disposition: attachment;\n" .
- " filename=\"{$namafile}\"\n" .
- "Content-Transfer-Encoding: base64\n\n" .
- $data . "\n\n" .
- "--{$mime_boundary}--\n";
- // proses mengirim email dengan attachment
- mail($email, "Konfirmasi Registrasi", $pesan, $headers);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement