Join The Community

Tutorial membuat Captcha Php



Misi gan saya mau share cara ngebuat captcha ni. Mudah mudahan bermanfaat.
nah langkah langkahnya adalah sebagai berikut. cekibroott.

Ada 4 file yang harus 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 ya )
nah sekarang tinggal ketik(kalo gamau repot tinggal copas:D )script phpnya gan.
1. index.php


<!--
 .judul { text-align: center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 24p; 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
<?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

<?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"; }
?>
______________________________________________________________________________________________

Kalo agan agan mau download tinggal klik aja disini :D


0 komentar:

Posting Komentar