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 **

Komentar

Halaman Lainya

  • Cara upload file dengan PHP Script
    Php memiliki fasilitas untuk mengirimkan file dari komputer pengguna melalui browser ke server sehingga kita tidak perlu lagi aplikasi khusus seperti ftp atau login ke panel hosting hanya untuk sekedar upload file biasa, dokumen, maupun gambar.
  • Apa yang harus diketahui sebelum belajar php
    PHP merupakan pemrograman yang saat ini berkembang pesat. Banyak website dan aplikasi web baru bermunculan dijaringan internet. Inovasi-inovasi yang sangat variatif sesuai keperluan dikembangkan dengan menganut sistem terbuka (opensource) dihasilkan dari
  • Menyederhanakan operasi mysql dengan function dalam php
    Sering dalam sebuah aplikasi web khususnya php, kita melakukan operasi database mysql secara berulang. Misal melakukan pengecekan, perhitungan, perbandingan ataupun operasi-operasi umum lainya yang dilibatkan dalam sebuah proses besar. Hal ini sangat tidak efektif karena kita harus menyusunya berulang-ulang yang kadang berujung pada sulitnya melakukan pengembangan. Pada tulisan ini saya akan berbagi trik jitu agar masalah diatas bisa teratasi dengan mudah.
  • 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 nomor transaksi diawali 0000
    Jika kita membuat aplikasi yang berhubungan dengan proses transaksi maka akan membuat penomoran secara otomatis yang format nomornya terdiri dari beberapa angka sesuai urutan transaksinya. Nomor transaksi biasanya diawali dari angka terkecil yaitu satu tapi ditampilkan dalam digit angka ratusan atau ribuan. Misal untuk transaksi no 1 maka akan ditampilkan dengan angka 001 atau 0001.

Kiriman terbaru