Membuat Contact Form Email Dengan PHP. Setelah beberapa hari yang lalu ada yang Inbox di facebook yang menanyakan tentang bagaimana membuat Contact Form, dimana data yang di isikan akan terkirim ke Email Admin atau email si pemilik Website. Nah, dari itu saya kepikiran untuk membuat tutorialnya. Jadi za… sudah ini dibuat dan saya posting di sini 😀
Sebelumnya untuk mengirimkan email lewat PHP sangatlah mudah, tinggal menggunakan fungsi yang sudah ada di PHP yaitu mail(). Untuk referensi tentang fungsi mail() bisa dilihat di web fungsi mail() php atau di web w3schools.
Yang kita buat disini hanya 2 buah file php, yaitu index.php untuk tampilan form nya, dan kirim.php untuk prosesnya.
Pertama buat file index.php dan kodenya seperti di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<!DOCTYPE html> <html> <head> <title>Contact Form Email</title> </head> <body> <h1>Contact Form Email</h1> <p>Demo ini dibuat dan di upload oleh <a href="http://tutorialweb.net/" target="_blank">tutorialweb.net</a></p> <form action="kirim.php" method="post"> <p><input type="text" name="nama" placeholder="Nama anda" size="30" required /></p> <p><input type="email" name="email" placeholder="Email valid" size="30" required /></p> <p><input type="text" name="judul" placeholder="Subjek pesan email" size="50" required /></p> <p><textarea name="pesan" placeholder="Pesan anda" rows="7" cols="50" required></textarea> <p><input type="submit" name="kirim" value="Kirim Pesan" /> <input type="reset" value="Hapus Text" /></p> </form> </body> </html> |
Perhatikan pada bagian form action berisi kirim.php, berarti ketika tombol di klik maka akan menjalankan file kirim.php yang berisi fungsi mail() tadi. Kode yang lainnya saya kira sudah paham za.. 😀
Berikut ini isi kode dari file kirim.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php if($_POST['kirim']){ $nama = htmlentities($_POST['nama']); $email = htmlentities($_POST['email']); $judul = htmlentities($_POST['judul']); $pesan = htmlentities($_POST['pesan']); $pengirim = 'Dari: '.$nama.' <'.$email.'>'; if(mail($admin, $judul, $pesan, $pengirim)){ echo 'SUCCESS: Pesan anda berhasil di kirim. <a href="index.php">Kembali</a>'; }else{ echo 'ERROR: Pesan anda gagal di kirim silahkan coba lagi. <a href="index.php">Kembali</a>'; } }else{ header("Location: index.php"); } ?> |
Dalam kode di atas saya berikan yang paling dasar saja, dimana ada beberapa variabel yang menyimpan data dari form inputan tadi yang sudah di isi oleh user.
Yang perlu diperhatikan hanya bagian $admin = ‘[email protected]’; nah, silahkan ganti email tersebut dengan email Anda, karena pesan yang di tuliskan oleh si user akan terkirim ke email tersebut.
Nah, sudah selesai.. 😀
perlu di perhatikan bagi yang menggunakan/mencoba di server lokal (localhost) setting dulu SMTP nya di php.ini, dan juga jika mencoba di hosting gratis, seperti idhostinger atau yang lainnya, mungkin nama dan email pengirimnya tidak bisa dirubah. Jadi nama dan email akan tampil detail hosting gratis itu..
Cukup sekian, jika berkenan silahkan di Like atau Share.. 😀
kemana aja om pino baru posting?
nunggu tutorial lain nya ni om..
suka mantengin tutorialweb ni sya om!
hahahaa
heheheee..
sorry gan, lagi banyak kerjaan di smk.. 😀
Mas, setelah saya coba di shared hosting
Kenapa nggak mau jalan ya?
apakah fitur mail harus disetting terlebih dahulu?
coba tanya adminnya, support fungsi mail gak hostingnya?
wah makasih mas ini yang saya cari kemaren hehe
Wah mantap ni, mau dicoba dulu ah ma pen quran, moga aja sukses
Luar biasa, siplah. Mantap
mas kalo cara menambahkan gagal atau sukses input email dengan @ dan belakang “.” harus 3 huruf agar email yang valid itu kyk gni . [email protected] dan kalo [email protected] gagal .
disan sudah otomatis membuat validasi email dengan input type=”email”
kalau ingin membuat validasi sendiri bisa saja, silahkan chat fb untuk lebih lanjut.
oke gan, sip lah
mas mau tanya itu cara nampilin email si pengirim gimana ya? soalnya yg tampil malah nama user email hosting saya .. apa ada script yg harus diubah lagi? mohon bantuannya..
apa pakek hosting gratisan.. kalau gratis biasanya muncul gtu
gan nama email pengirim kenapa gak muncul ya? makasi gan tutorialnya
Harus buat database dulu kan ya om?
gak usah sob. soalnya data langsung di kirim ke email adminnya.
kok ga terkirim ke email ya mas?
kok ga terkirim ke email saya ya mas? padahal email admin udh saya ganti dengan email saya
nyobaknya harus online. gak bisa di localhost
bang pino, pas nyoba saya udah online tapi webny msh di localhost. apa msh bsa bang ?
maksudnya gmn?
Mantap Gan, script kontak form php nya bisa berjalan, tetapi setelah saya check di inbox, email pengirimnya kok berasal dari hosting saya ya bukan emailnya si pengirim email
kalau di coba di hosting gratis memang kadang pihak hostingnya yg seperti itu
sudah di coba hosting bayar,email pengirimnya berasal dari hosting saya juga
saya coba dulu nanti
mas, kenapa masuknya ke spam terus ya ? supaya ga kespam gimana ya ?
tergantung dari yang ngirim domainnya.
bisa di list percaya aja
untuk email juga masih berasal dari hosting saya ya ? padahal sudah hosting berbayar ? mohon solusinya mas, terima kasih
silahkan kontak penyedia hostingnya untuk merubah nya
mas, saya sudah ikuti instruksi, tapi kenapa emailnya sekarang ini jadi ga masuk lagi ya? padahal sbelumnya bisa masuk, walaupun masuk spam
apakah merubah script nya? cek juga koneksi internet pas kirim nya
Thank you mas tutorial nya bermanfaat
kalau sudah jaalan d localhost pake smtp …semisal mau dihosting harus dihapus ga smtpnya
ndak pakai gpp.
jadi harus ubah konfigurasi ga mas kalau mau d hosting kan tadinya saya pakenya smtp dilocalhost?
kalau di hosting gk usah smtp. langsung bisa.
maksud saya tuh kalau udah d hosting harus smtpnya dhapus apa gmna?kan saya codingannya pake smtp d localhost nah kalau mau d hosting d hapus atau ubah apa gtu?
hapus aja. bisa langsung pakai fungsi mail()
trus kalau smtpnya dihapus, gimana set nama email dan password pengirim mas
kenapa ya fungsi pada pesan tidak berfungsi setelah dihosting …tetapi kalau dlocalhost bisa
$body=”Nama: $nama Email: $email Subjek :$subjek Pesan: $pesan, “;
kenapa kalau di hosting brnya ga jalan ya
kurang jelas saya pertanyaanya.
itu kan mas ga pake di pesannya nah kalau mau dienter gmana soalnya kbacanya di email
kalau pake tag br gmna mas d pesan email itu
pakai \n