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. kai
    July 19th, 2010 - 14:27

    oke mantap…emang ini yang ane cari dari kearen2…. yes… lengkap sudah kebutuhan web aku…

  2. Robota
    March 12th, 2011 - 12:12

    Thanks alias makasih banyak ya atas informasinya

  3. Desain Grafis Web
    March 20th, 2011 - 13:07

    Halo mas, kok ga bisa ya?

  4. penerjemah ijazah
    April 20th, 2011 - 01:03

    wah ane habis bikin kotak comment di web ane,,dan ane dapet dari emailmeform.com tpi ada capthca nya ane jadi pusing eh ternta ada disini jawabannya makasih yahh salam kenal

  5. Iwan Papedsko
    August 8th, 2011 - 10:32

    Wah keren gan, ane dah cobain nih…manteb..!!

  6. Jual mainan anak online
    October 17th, 2015 - 09:41

    Bisa buat skkripsi nih …

Leave a Reply