How to unlock Celery Salt Foursquare Badge. seperti yang kita ketahui badge ini masih sodara kandung dari badge Chicago Blues yang cara unlocknya sudah saya tulis diartikel sebelumnya. Nah cara ...Read more

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. kelik
    June 5th, 2010 - 16:28

    gak bisa coy…harus dikondisikan dulu yg in
    $hasil = ??

  2. yohan
    June 14th, 2010 - 01:16

    thanks codingannya :)

  3. faruq
    June 21st, 2010 - 14:11

    minta ijin saya repost

  4. arieff
    June 24th, 2010 - 15:20

    nyari2 codingan captcha, akhirnya ketemu juga..thanks sob

    keep sharing..

  5. venty
    June 27th, 2010 - 11:37

    thx codding nyaa..
    mantappp :)

  6. ardhan
    July 8th, 2010 - 13:25

    wah makasih tutornya mas, ngebantu saya banget

  7. utari
    July 8th, 2010 - 23:04

    makasih codenya y..saya jg lagi bljr bkin captcha

  8. chai
    July 19th, 2010 - 01:09

    pake PHP ya… bagus nih tutorialnya, bisa di coba .. thanks

  9. wij
    July 19th, 2010 - 11:40

    oke.. great post..
    it’s exciting, thanks tutorialnya

  10. dety
    July 19th, 2010 - 11:40

    akhrinya setelah nguber2 internet dapat juga ni tutorial. thanks gan sharingnya

Leave a Reply