Sekilas Inpoh Gan!

Tadi iseng blog walking, dan mapir ke blognya mbahgendeng.com, tapi bukan tampilan blognya yang muncul, malah halaman hasil deface. Semoga cepat UP lagi blognya mbah.

Tutorial membuat Captcha

Baru inget kalau dulu pernah direpotkan bagaimana cara bikin form yang ada captchanya, ngubek-ngubek internet ditemenin om Google untuk cari tutorialnya, aha..ketemu juga! tapi kurang lengkap dan sering gak diterangi gimana aplikasiin tu captcha ke form, jadi bingung deh.. maklum nubi.  Mudah – mudahan tutorial ini dapat bermanfaat, yukz kita mulai aja..

Ada 4 file dari aplikasi yang akan kita buat disini.

  1. index.php ( tampilan form itu sendiri )
  2. captcha.php ( script captchanya )
  3. send.php ( file yang akan melakukan proses ketika tombol submit pada index di hit )
  4. img.jpg ( hanya file image, silahkan dibuat sendiri yach )

Oke kita lihat jeroan ketiga file dengan extensi php diatas ya….

1. index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<!--
 .judul { text-align: center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 24px; font-weight: bold; color:#FF0000; } .table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; } .bintang { color:#FF0000; } .style1 {color: #FF0000; font-weight: bold; } .style5 { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; }
-->
 
Form Pendaftaran via Email<form action="send.php" method="post"><strong>FORM PENDAFTARAN</strong>
<table class="table" border="1" cellspacing="0" cellpadding="3" width="61%">
<tbody>
<tr>
<td width="56%">
<div>
<strong>Nama Lengkap<span class="bintang">*</span></strong></div></td>
<td width="44%"><input id="txtNama" name="txtNama" type="text" /></td>
</tr>
<tr>
<td>
<div>
<strong>Nomor KTP/SIM/Paspor/Kartu Pelajar<span class="bintang">*</span>
</strong></div></td>
<td><input id="txtKTP" name="txtKTP" type="text" /></td>
</tr>
<tr>
<td>
<div><strong>Tempat Lahir<span class="bintang">*</span></strong></div></td>
<td>
 
<input id="txtLahir" name="txtLahir" type="text" /></td>
</tr>
<tr>
<td>
<div><strong>Tanggal Lahir<span class="bintang">*</span> </strong></div></td>
<td>
<select id="lsttgl" class="inputstyle" name="lsttgl">
<!--
for(i=1;i<=31;i++) {
if(i==1) {
document.write('<option value="' + i + '" selected>' + i + '</option>')
} else {
document.write('<option value="' + i + '">' + i + '</option>')
}
}
// -->
</select>
 
-
<select id="lstbln" class="inputstyle" name="lstbln">
<option selected="selected" value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Maret</option>
<option value="4">April</option>
<option value="5">Mei</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">Agustus</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Desember</option>
</select>
 
-
<select id="lstthn" class="inputstyle" name="lstthn">
<!--
for(i=1950;i<=2007;i++) {
if(i==1975) {
document.write('<option value="' + i + '" selected>' + i + '</option>')
} else {
document.write('<option value="' + i + '">' + i + '</option>')
}
}
// -->
</select></td>
</tr>
<tr>
<td>
<div><strong>Alamat<span class="bintang">*</span>
</strong></div></td>
<td><textarea id="txtAlamat" name="txtAlamat"></textarea></td>
</tr>
<tr>
<td>
<div>
<strong>Nomor Telepon atau Handphone yang bisa dihubungi<span class="bintang">*</span> </strong></div></td>
<td><input id="txtHP" name="txtHP" type="text" /></td>
</tr>
<tr>
<td>
<div><strong>Masukkan jumlah hasil penjumlahan dari gambar<span class="”bintang”">*</span></strong><span class="”bintang”">
 
<img src="”captcha.php”/" alt="" /></span></div></td>
<td>
<input name="”ccek”" type="”text”/" /></td>
</tr>
<tr>
<td>
<div><strong>Keterangan Tambahan</strong></div></td>
<td><textarea id="”txtKeterangan”" name="”txtKeterangan”"></textarea></td>
</tr>
<tr>
<td>
<div><span class="”style1″">*semua field  harus diisi</span></div></td>
<td><input name="”cek”" type="”submit”" value="”Kirim”/" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">
 
<strong>Tolong masukkan data secara benar dan valid, semua field harus diisi !</strong></td>
</tr>
</tbody></table>
</form>

2. captcha.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
session_start();
$gbr = "img.jpg";
$merah = "255";
$ijo = "255";
$biru = "255";
$acak1 = mt_rand(1,100); // nilai acak 1
$acak2 = mt_rand(1,100); // nilai acak 2
$strtampil = $acak1." + ".$acak2;
$hasil = $acak1 + $acak2;
$bikingbr =imagecreatefromjpeg($gbr);
$teks = imagecolorallocate($bikingbr, $merah, $ijo, $biru);
imagestring($bikingbr, 5, 20, 10, $strtampil, $teks);
$_SESSION['capcay'] = $hasil;
header("Content-type: image/jpeg");
imagejpeg($bikingbr);
?>

3. send.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
session_start();
$to = "email-kamu@domain-kamu.com";
$subject = "Isikan subjectnya disini";
$txtNama = $_POST['txtNama'] ;
$txtKTP = $_POST['txtKTP'];
$txtLahir = $_POST['txtLahir'];
$tgl = $_POST['lsttgl'];
$bln = $_POST['lstbln'];
$thn = $_POST['lstthn'];
$txtAlamat = $_POST['txtAlamat'];
$txtHP = $_POST['txtHP'];
$txtKeterangan = $_POST['txtKeterangan'];
$cek = $_POST['ccek'];
$message = "Nama: ".$txtNama."<br>KTP: ".$txtKTP."<br>Tempat Lahir: ".$txtLahir.
"<br>Tanggal Lahir: ".$tgl."-".$bln."-".$thn."<br>Alamat:
".$txtAlamat."<br>HP: ".$txtHP."<br>Keterangan: ".$txtKeterangan; if($txtNama == "" || $txtHP == "" ||$txtAlamat == "" || $txtKTP == "" || $txtLahir == "" ) {
header("location:index.php?err=1");
exit;
}
if($_POST['ccek'] != $_SESSION['capcay']){
header("location:index.php?err=1");
exit;
}
if((bln==4||bln==6||bln==9||bln==11)&&tgl>30) {
header("location:index.php?err=1");
exit;
} else if((bln==2) && tgl>29) {
header("location:index.php?err=1");
exit;
} else if((bln==2) && (thn%4!=0) && (tgl>28)) {
header("location:index.php?err=1");
exit;
} else if((bln==2) && (thn%4==0) && (tgl>29)) {
header("location:index.php?err=1");
exit;
}
$sent = mail($to, $subject, $message) ;
if($sent)
{print "Terima kasih, Data Anda sudah terregistrasi dengan sukses, silahkan tutup halaman ini"; }
else
{print "Registrasi gagal, Silahkan ulangi kembali"; }
?>

Digg it StumbleUpon del.icio.us Google Yahoo! reddit

  1. vano
    April 25th, 2009 - 11:15

    minta image captcha nya dong boz !!
    aku udh nyoba tapi image nya gak pernah pas (error terus). kirim ke emailku. Thanks bgt b4.

    Reply

  2. Mukhlis Yulianto
    May 4th, 2009 - 13:28

    capatcha O uye

    Reply

  3. akish
    May 5th, 2009 - 03:18

    kk..
    aku minta captcha dengan asp net dong ..

    Reply

  4. Strodong
    June 12th, 2009 - 01:29

    Wah mas bagus juga ya tutorialnya emang ini yang dibutuhkan untuk disimpan didalam website menghindari aksi dari flooding machine yang mengakibatkan ngecrash nya database kita…

    Reply

  5. aldy
    July 21st, 2009 - 12:02

    Ijin Copas mas, saya punya tutorialnya cuma khusus untuk localhost, masih bingung mengaplikasikannya pada CMS. ( Hanya untuk kepentingan sendiri Kok..he…he…)
    .-= aldy´s last blog ..Jika kita mau belajar, semuanya akan menjadi mudah. =-.

    Reply

    Eclipse Reply:

    Silahkan sob…dengan senang hati

    Reply

  6. surya
    August 5th, 2009 - 16:53

    hello bro tolong kirimin dong??kok g mau tampil gambanya y??thanks 4All…

    Reply

    Planet Orange Reply:

    Gambar apanya yang gak tampil bro…. kl utk backgroundnya bisa pake sembarang image, asal namanya didefeniin dulu…

    Kl ada yang kurang jelas, jangan ragu2 utk kontek saya bro..

    Reply

  7. badbox
    August 6th, 2009 - 18:48

    bisa minta screen shotnya hasil jadinya…????

    Reply

  8. dede
    September 23rd, 2009 - 14:12

    gimana bro kagak bisa

    Reply

  9. andre
    February 4th, 2010 - 11:00

    imagenya dong gan!!!

    Reply

  10. juli
    February 21st, 2010 - 12:34

    terimakasih Mas ….. Mudah2an Makin Sukses….Salam kenal…

    Reply

Leave a Reply