Membuat form kontak dengan html dan php

Membuat form kontak dengan html dan phpForm kontak adalah salah satu bagian penting yang harus ada dalam sebuah website. Anda bisa lihat website-website yang pernah anda kunjungi, semuanya pasti menyediakan form kontak ini. Form kontak biasanya digunakan sebagai media komunikasi yang nantinya mengirimkan pesan langsung ke email pemilik website.

Pada tulisan berikut ini saya akan berbagi tentang bagaimana membuat form kontak dan mengirim pesannya ke email dalam satu file php. Untuk form kontak ini saya tidak buat database karena from setelah diisi akan langsung dikirim ke email.

Kita mulai dari membuat sebuah model form kontak dengan script html berikut :

<table width="500">
  <form name="kontak" method="post" action="">
    <tr>
      <td colspan="2"><h2>Form Kontak</h2></td>
    </tr>
    <tr>
      <td>Judul Pesan</td>
      <td><input name="judul" id="judul" type="text" size="40" required="true"></td>
    </tr>
    <tr>
      <td>Nama</td>
      <td><input name="pengirim" type="text" id="pengirim" size="30" required="true"></td>
    </tr>
    <tr>
      <td><p>Email</p>      </td>
      <td><input name="email" type="text" id="email" size="30" required="true"></td>
    </tr>
    <tr>
      <td>Pesan</td>
      <td><textarea name="pesan" cols="40" rows="5" id="pesan" required="true"></textarea></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="btnKirim" value="Kirim" id="btnKirim">
      <input type="reset" name="btnUlangi" id="button" value="Ulangi"></td>
    </tr>
  </form>
</table>

Untuk form diatas, saya gunakan method post dengan action dikosongkan dengan tujuan isi form akan dikirim dan diproses dalam file itu sendiri. Untuk memastikan semua diisi, saya tambahkan atribut required="true" pada semua isian.

Tampilan form jika anda jalankan akan terlihat seperti gambar berikut :

Membuat form kontak dengan html dan php

Setelah form siap, kita memerlukan script php untuk mengirim pesan tersebut ke email. Script kirim email dengan php saya tulis seperti berikut :

<?php
    //alamat email tujuan bisa anda sesuaikan dengan email anda
    $tujuan = "saya@zainalhakim.web.id";
    //Ini diambilkan dari nama objek form yang sudah kita buat
    $judul = $_POST['judul'];
    $pesan = $_POST['pesan'];
    $pengirim=$_POST['pengirim'];
    $header = "From:$pengrim \r\n";
    $kirim = mail($tujuan,$judul,$pesan,$header);
    if( $kirim == true ) 
    {
        echo "Pesan berhasil terkirim";
    }
    else
    {
        echo "Pesan gagal terkirim";
    }
?>

Karena rancangan awal, form kontak dibuat dalam satu file maka harus dibuat pengecekan agar mengetahui kapan form kontak ditampilkan, dan kapan form kontak harus dikirim. Untuk pengecekannya saya buat script php seperti berikut :

<?php
if(!empty($_POST['judul'] && !empty($_POST['pengirim'] && !empty($_POST['email'] && !empty($_POST['pesan']
{  
   //Script kirim email
}
?>
<!-- Disini html -->

Dengan script php diatas, maka pada saat file kontak dijalankan proses awal php akan mengecek apakah ada nilai submit post dari form kontak, jika ada maka form akan dikirim, dan jika belum diisi maka tampil form kontak.

Secara keseluruhan maka perintah html dan php saya gabungkan dalam satu file seperti berikut :

<?php
if(!empty($_POST['judul'] && !empty($_POST['pengirim'] && !empty($_POST['email'] && !empty($_POST['pesan']
{  
    //alamat email tujuan bisa anda sesuaikan dengan email anda
    $tujuan = "saya@zainalhakim.web.id";
    $judul = $_POST['judul'];
    $pesan = $_POST['pesan'];
    $pengirim=$_POST['pengirim'];
    $header = "From:$pengrim \r\n";
    $kirim = mail ($tujuan,$judul,$pesan,$header);
    if( $kirim == true ) 
    {
        echo "Pesan berhasil terkirim";
    }
    else
    {
        echo "Pesan gagal terkirim";
    }
}
?>
<table width="500">
  <form name="kontak" method="post" action="">
    <tr>
      <td colspan="2"><h2>Form Kontak</h2></td>
    </tr>
    <tr>
      <td>Judul Pesan</td>
      <td><input name="judul" id="judul" type="text" size="40" required="true"></td>
    </tr>
    <tr>
      <td>Nama</td>
      <td><input name="pengirim" type="text" id="pengirim" size="30" required="true"></td>
    </tr>
    <tr>
      <td><p>Email</p>      </td>
      <td><input name="email" type="text" id="email" size="30" required="true"></td>
    </tr>
    <tr>
      <td>Pesan</td>
      <td><textarea name="pesan" cols="40" rows="5" id="pesan" required="true"></textarea></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="btnKirim" value="Kirim" id="btnKirim">
      <input type="reset" name="btnUlangi" id="button" value="Ulangi"></td>
    </tr>
  </form>

Script diatas bisa anda copy dan simpan dalam file dengan nama kontak.php.

Catatan :

  1. Untuk mencoba menjalankanya sampai proses kirim, komputer anda harus memiliki layanan email server.
  2. Cara mudah mencobanya yaitu dengan mengupload file kontak.php ke dalam hosting di internet.
  3. Ada beberapa hosting yang tidak mendukung pengiriman email dari alamat email luar, jadi harus diubah sesuai dengan nama domain anda. Perubahan anda bisa lakukan pada bagian $pengirim=$_POST['pengirim'];

Silahkan download script lengkap form kontak berikut : Download Form Kontak dengan html dan php.

Semoga bermanfaat

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Cara menuliskan css dan html dalam php
    Mungkin anda sudah mengetahui bahwa PHP bekerja disisi server sedangkan HTML dan CSS bekerja disisi klien. Ketiganya bisa saling melengkapi sehingga menghasilkan halaman web yang dinamis dengan tampilan yang menarik. Berikut ini saya akan berbagi tentang bagaimana menuliskan css dan html tersebut dalam php.
  • Fungsi break dan continue dalam php
    Fungsi break dalam php digunakan untuk menghentikan proses yang dilakukan oleh perintah php : for, foreach, while, do-while atau switch. Sedangkan continue digunakan untuk melanjutkan proses pada perintah perulangan for dengan php. Kedua fungsi ini (break dan continue) memang tidak selalu digunakan, karena setiap kasus mungkin saja berbeda keperluan. Pada kasus seperti apa anda memerlukan fungsi break dan continue?
  • Variasi cara menulis ke layar dengan php
    Artikel ini mungkin tak semenarik judulnya Variasi cara menulis ke layar dengan php, tapi sering kali saya menemui orang yang sedang belajar php bingung jika melihat beberapa variasi penggunaan kode php untuk menulis ke layar. Pada artikel ini saya akan buatkan beberapa contoh cara menampilkan tulisan/gambar ke layar dengan php.
  • Membuat tabel warna-warni dengan php
    Tentunya anda pernah melihat sebuah laporan yang disajikan secara unik dan menarik php. Misal, tabel tersebut dibuat dengan warna selang seling/warna-warni. Tujuan dibuat warna-warni seperti itu bukan hanya agar tampilan lebih menarik tapi juga bertujuan agar baris-baris data bisa terlihat dengan jelas. Bagaimana membuatnya dalam php? Simak tulisan saya berikut ini.
  • Mengirim email laporan dari database mysql dengan PHPMailer
    Pada tulisan sebelumnya saya sedikit berbagi tentang Cara mudah mengirim email dari PHP dengan PHPMailer. Pada tulisan berikut ini saya ingin lanjutkan lagi tentang bagaimana mengirimkan email dalam bentuk laporan yang diambilkan dari database mysql dengan dengan PHPMailer.

Kiriman terbaru