Showing posts with label dreamweaver. Show all posts
Showing posts with label dreamweaver. Show all posts

Saturday, October 26, 2013

Form Divalidasi Beserta Captcha di PHP

Kembali lagi di PHP

Sekarang saya membahas form seperti di PHP 4

tapi kali ini form saya disertai validasi dan captcha

sebelumnya, di filepdf  ini ada beberapa tipe validasi
ada yang menggunakan kata-kata ataupun gambar

download disini (file-save as)



Lalu sekarang kita bahas tentang captcha

captcha yaitu suatu bentuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer. Proses ini biasanya melibatkan suatu komputer (server) yang meminta seorang pengguna untuk menyelesaikan suatu uji sederhana yang dapat dihasilkan dan dinilai oleh komputer tersebut. Karena komputer lain tidak dapat memecahkan CAPTCHA, pengguna manapun yang dapat memberikan jawaban yang benar akan dianggap sebagai manusia." CAPTCHA.

sebelum itu,  buat gambar untuk background captcha
saya membuatnya di photoshop
misalnya seperti ini
captcha buatanku._.
script captcha.php



<?php
session_start();
$alphaNumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$random = substr(str_shuffle($alphaNumeric),0,5);
$image = imagecreatefromjpeg("images/captcha.jpg");
$textcolor = imagecolorallocate ($image, 2, 1, 3); //hitam
imagestring ($image, 5, 5, 8, $random, $textcolor);
$_SESSION['image_random_value']=md5($random);
//header("Expires: MOn, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>



Buat frm.php
sebenarnya intinya sama seperti php sebelumnya
tapi disini scriptnya lebih banyak dan sedikit ruwet.

<?php
    session_start();
    if(isset($_SESSION['error'])){
 $error = $_SESSION['error'];
    $true = $_SESSION['true'];
 $_POST = $_SESSION['post'];
 unset ($_SESSION['error']);
    unset ($_SESSION['true']);
 unset ($_SESSION['post']);
    }

 if (empty($nama) || empty($gender) || empty($email) || empty($alamat) || empty($tempat) || empty($pwd) || empty($agama) || empty($noHP) || empty($captcha) || empty($hari) ||empty($tahun) ||empty($bulan) ){
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="nah.css" />
<title>Formulir</title>
</head>

<body style="background-image:url(images/bcg.png); background-repeat:repeat;">
<form action="action.php" name="form1" method="post">
<center>

<h2><font color="#FFFFFF"> Masukkan data dirimu di Form berikut :</font></h2>
<table  cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" border="0" width="700" height="420" Style='border-radius:10px;border-color:white;
box-shadow: 0 0 5px 5px black;'>

 <tr>
     <td rowspan="11" width="230" Style=' border-top-left-radius:20px;border-bottom-left-radius:20px '><center><img src="images/img.jpg" width="200" 0height="200" /></center></td>
        <td colspan="3" Style=' border-top-right-radius:20px; '>
         <center><font color="#445B23"><b>INPUTAN BIODATA</b></font></center>
        </td>
       
    </tr>
    <tr>
     <td> Nama Lengkap</td>
        <td width="1"><center>:</center></td>
        <td><input  type='text' name="nama" size="40" placeholder="Nama Lengkap" value="<?php echo isset($_POST['nama']) ? $_POST['nama'] : ''; ?>" />
   <font size="-1" color="red"><?php echo isset($error['nama']) ? $error['nama'] : '';?></font>
        <font ><?php echo isset ($true['nama'])? $true['nama'] : '';?></font>
        </td>
    </tr>
    <tr>
     <td> Jenis Kelamin</td>
        <td><center>:</center></td>
        <td>
        <input type="radio" name="gender" value="<?php echo isset($_POST['gender']) ? $_POST['gender'] : ''; ?>Laki - Laki <?php echo isset($_POST['gender']) ? ' checked' : ''; ?>"/>&nbsp;Laki-Laki
   
            <input type="radio"  name=gender value="<?php echo isset($_POST['gender']) ? $_POST['gender'] : ''; ?> Perempuan <?php echo isset($_POST['gender']) ? ' checked' : ''; ?>" />&nbsp;Perempuan
            <font size="-1" color="red"><?php echo isset($error['gender']) ? $error['gender'] : '';?></font>
     <?php echo isset ($true['gender'])? $true['gender'] : '';?>
     
        </td>
    </tr>
   
    <tr>
     <td>TTL</td>
        <td><center>:</center></td>
        <td>
    <input type='text' placeholder="Tempat" name="tempat" size="4" value="<?php echo isset($_POST['tempat']) ? $_POST['tempat'] : ''; ?>" />
        <font size="-1"  color="red"><?php echo isset($error['tempat']) ? $error['tempat'] : '';?></font>
  <font ><?php echo isset ($true['tempat'])? $true['tempat'] : '';?></font>


<?php
$bulan=array("Januari" ,"Februari", " Maret" ,"April", "Mei", "Juni",
"Juli", "Agustus", "September", "Oktober", "November", "Desember");



echo '<select name="hari" >';
echo "<option value=hari>Hari</option>";
$hari=1;
$haripilih = isset($_POST['hari']) ? $_POST['hari'] : "hari";

while($hari<=31) {
echo "<option value=$hari";
echo  $hari == $haripilih ? " selected" : "";
echo '>'.$hari.'</option>';
$hari++;
}
echo '</select>';

echo '<select name="bulan">';
echo "<option value=bulan>Bulan</option>";
$jumlah=count($bulan);
$bulanpilih = isset($_POST['bulan']) ? $_POST['bulan'] : "bulan";
for($i=0; $i<$jumlah ; $i++){
 echo "<option value=$bulan[$i]";
 echo $bulan[$i] == $bulanpilih ? " selected" : "";
 echo '>'.$bulan[$i].'</option>';
}
echo '</select>';


echo '<select name="tahun">';
echo "<option value=tahun>Tahun</option>";
$tahunpilih = isset($_POST['tahun']) ? $_POST['tahun'] : "tahun";
for($tahun=1995; $tahun<2010; $tahun++){
echo "<option value='$tahun'";
echo $tahun == $tahunpilih? " selected" : "";
 echo '>'.$tahun.'</option>';
}
echo '</option>';

?>
        </td>
    </tr>
    <tr>
    <td>Agama</td>
        <td><center>:</center></td>
        <td><input type='text' placeholder="Agama" name="agama" size="40" value="<?php echo isset($_POST['agama']) ? $_POST['agama'] : ''; ?>" />
        <font size="-1" color="red"><?php echo isset($error['agama']) ? $error['agama'] : '';?></font>
        <font ><?php echo isset ($true['agama'])? $true['agama'] : '';?></font>
        </td></tr>
     <td>E-mail</td>
        <td><center>:</center></td>
        <td><input type='text' name="email" placeholder="E-mail" size="40" value="<?php echo isset($_POST['email']) ? $_POST['email'] : ''; ?>" />
        <font size="-1" color="red"><?php echo isset($error['email']) ? $error['email'] : '';?></font>
        <font ><?php echo isset ($true['email'])? $true['email'] : '';?></font>
        </td>
    </tr>
    <tr>
    <td>Password</td>
        <td><center>:</center></td>
        <td><input type='password' placeholder="Password" name="pwd" size="40" value="<?php echo isset($_POST['pwd']) ? $_POST['pwd'] : ''; ?>" />
        <font size="-1" color="red"><?php echo isset($error['pwd']) ? $error['pwd'] : '';?></font>
        <font ><?php echo isset ($true['pwd'])? $true['pwd'] : '';?></font>
        </td>
     </tr>
     <tr>
     <td>Alamat</td>
        <td><center>:</center></td>
        <td><input type='text' placeholder="Alamat" name="alamat" size="40" value="<?php echo isset($_POST['alamat']) ? $_POST['alamat'] : ''; ?>" />
        <font size="-1" color="red"><?php echo isset($error['alamat']) ? $error['alamat'] : '';?></font>
        <font ><?php echo isset ($true['alamat'])? $true['alamat'] : '';?></font>
        </td>
        </tr>
    <tr>
     <td>No. HP</td>
        <td><center>:</center></td>
        <td><input type='text' placeholder="No.HP" name="HP" size="40" value="<?php echo isset($_POST['HP']) ? $_POST['HP'] : ''; ?>" />
        <font size="-1" color="red"><?php echo isset($error['HP']) ? $error['HP'] : '';?></font>
        <font ><?php echo isset ($true['HP'])? $true['HP'] : '';?></font>
        </td>
    </tr>
     <tr>
     <td>Captcha  <img height="30" style="vertical-align:middle;" src="captcha.php?data=<?php echo date('YmdHis');?> alt="securiy image" /></td>
        <td><center>:</center></td>
        <td>
       
         <input name="pin" placeholder="Captcha" type="text"  value="<?php echo isset($_POST['captcha']) ? $_POST['captcha'] : ''; ?>" />
         
        <font size="-1" color="red"><?php echo isset($error['pin']) ? $error['pin'] : '';?></font>
        <font ><?php echo isset ($true['pin'])? $true['pin'] : '';?></font>
 
        </td>
    </tr>
    <tr>

     <td colspan="3"  Style=' border-bottom-right-radius:20px;'><center>&nbsp;
  <button type="submit" name="submit">&nbsp;Kirim&nbsp;</button>&nbsp;<button type="reset" value="Refresh" ONCLICK="history.go(0)">&nbsp;Reset&nbsp;</button></center>
  </td>      
    </tr>

</table>
</center>
</form>
<?php } ?>
</body>
</html>


 hasilnya




Siapkan gambar untuk tampilan error, sebenarnya ini sesuai selera masing masing

1. untuk yang benar
2. data yang dimasukkan kurang benar

3. inputan salah

usahakan gambar kecil saja, kalau belum kecil tinggal rezise

lalu buat action.php untuk menampilkan yang sudah diinputkan tadi


<link rel="stylesheet" type="text/css" href="nah.css" />
  <title>Hasil</title>

    <body style="background-image:url(images/bcg.png); background-repeat:repeat;">
<?php
session_start();
if($_POST){
$nama=$_POST['nama'];
$gender=isset($_POST['gender'])? $_POST['gender']:"";
$tempat=$_POST['tempat'];
$hari=$_POST['hari'];
$bulan=$_POST['bulan'];
$tahun=$_POST['tahun'];
$agama=$_POST['agama'];
$alamat=$_POST['alamat'];
$email=$_POST['email'];
$pwd=$_POST['pwd'];
$noHP=$_POST['HP'];

$CAPTCHA=$_POST['pin'];
$emailpattern = '/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/';

$imgTrue ='<img src="images/true.png" style="vertical-align:middle"/><br>';
$imgEmp ='<img src="images/false.png" style="vertical-align:middle"/><br>';
$imgErr ='<img src="images/warning.png" style="vertical-align:middle"/><br>';


$error = array();
    if(empty ($nama)){
        $error['nama'] = $imgEmp.'Nama harus diisi';
    } else if(preg_match('/[^a-zA-Z ]/', $nama))           {
        $error['nama'] = $imgErr.'Nama hanya mengandung huruf saja';
    } else{
        $true['nama'] = $imgTrue;
    }

if(empty ($agama)){
        $error['agamat'] = $imgEmp.'Agama tidak boleh kosong';

    } else{
        $true['agama'] = $imgTrue;
    }

    if(empty ($email)){
        $error['email'] = $imgEmp.'Email tidak boleh kosong';
    } elseif (!preg_match($emailpattern, $email)){
        $error['email'] = $imgErr.'Format Email  (xxxxxxx@xxxxx.xxx)';
    } else{
        $true['email'] = $imgTrue;
    }

 if(empty ($alamat)){
        $error['alamat'] = $imgEmp.'Alamat tidak boleh kosong';

    } else{
        $true['alamat'] = $imgTrue;
    }

 if(empty ($pwd)){
        $error['pwd'] = $imgEmp.'Password tidak boleh kosong';

    } else{
        $true['pwd'] = $imgTrue;
    }

 if (empty($gender)){
  $error['gender'] = $imgEmp.'Jenis kelamin masih kosong!'; 
 } else{
  $true['gender'] = $imgTrue;
 }

 if(empty ($tempat)){
        $error['tempat'] = $imgEmp.'TTL tidak boleh kosong';

    } else{
        $true['tempat'] = $imgTrue;
    }

 if(empty ($noHP)){
        $error['HP'] = $imgEmp.'No HP tidak boleh kosong';

    }  else if(preg_match('/[^0-9 ]/', $noHP))           {
        $error['HP'] = $imgErr.'Nomer HP hanya mengandung angka saja';
 }
 else{
        $true['HP'] = $imgTrue;
    }

 if(empty ($CAPTCHA)){
        $error['pin'] = $imgEmp.'Anda harus mengisi captcha';

    } elseif (md5($_POST['pin']) <> $_SESSION['image_random_value']){
  $error['pin'] = $imgErr.'Anda bukan manusia';
    
    } else {
      $true['pin'] = $imgTrue;
 }

if(empty($error)){


 if($gender=='Laki - Laki'){
  echo'<h2><font color="white"><center>Selamat Datang Saudara, '.$nama.'<br>Berikut Biodatamu</center></font></h2>';
  }
 else{
  echo'<h2><font color="white"><center>Selamat Datang Saudari, '.$nama.'<br>Berikut Biodatamu</center></font></h2>';
  }
print("
<center>
<table  cellspacing='3' cellpadding='0' bgcolor='#FFFFFF' border='0' width='550' height='300' Style='border-radius:20px;border-color:white;box-shadow: 0 0 5px 5px black; '>
 <tr>
     
        <td colspan='4' Style=' border-top-left-radius:20px; border-top-right-radius:20px'>
         <center><strong><font color='#445B23'><div class='Da'>DATA DIRI</div></font></strong></center>
        </td>
          
    </tr>
    <tr>
     <td> Nama Lengkap </td>
        <td width='1'><center>:</center></td>
        <td> $nama</td>
  

    </tr>
    <tr>
     <td> Jenis Kelamin</td>
        <td><center>:</center></td>
        <td> $gender </td>
    </tr>
  
    <tr>
     <td>TTL</td>
        <td><center>:</center></td>
        <td>$tempat, $hari - $bulan - $tahun</td>
    </tr>
<tr>
     <td>Agama</td>
        <td><center>:</center></td>
        <td> $agama</td>
    </tr>
<tr>
     <td>E-mail</td>
        <td><center>:</center></td>
        <td>$email</td>
    </tr>
    <tr>
     <td>Password</td>
        <td><center>:</center></td>
        <td> $pwd</td>
    </tr>
    <tr>
     <td>Alamat</td>
        <td><center>:</center></td>
        <td> $alamat</td>
    </tr>
    <tr>
     <td Style=' border-bottom-left-radius:20px'>No. HP</td>
        <td><center>:</center></td>
        <td>$noHP</td>
    </tr>
   <tr>
   

</table>
</center>
");

 }

else{
 $_SESSION['error']=$error;
    $_SESSION['true'] =$true;
 $_SESSION['post'] =$_POST;
 header("location:frm.php");
}
}

?>



contoh ketika inputan data ada yang salah :



setelah semuanya benar 








sekian postingan kali ini
Terima kasih :)

Array, Fungsi dan Modularisasi di PHP

Sebelum membahas lebih lanjut tentang array fungsi dan modularisasi,
mungkin penjelasan dari guru saya sudah cukup mudah dimengerti pembaca

ini filenya : 

untuk mendownload klik disini, lalu file-save as




Contoh array versi lain :



setelah itu buat header :



jadinya







footer :


setelah file pdf diatas dipraktekkan semua,
buat main.php
tampilan web bisa kamu atur menjadi berupa tabel-tabel seperti ini



dan yang terakhir 
buat req.php



<?php
require("modul_header.php");
require("main.php");
require("modul_footer.php");
?>

run req.php di browser kesayanganmu



selesai~

Sunday, September 15, 2013

Membuat Form (PHP)

Kita bisa membuat form di dalam html,
dan script html bisa dipadukan dengan php

PHP bisa memuat


  • pengkondisian (if, else . .)
  • array dapat menyimpan lebih dari satu nilai.
Nilai yang ditampung bisa berupa string, number, atau array lainnya
Tidak seperti string dan number yang hanya bisa menampung satu buah nilai


  • perulangan / looping

Contoh:


for($i=1; $i<=10; $i++){
echo "Contoh perulangan" ;
}


Dan yang penting lagi yaitu membuat script PHP yang akan menerima dan memproses data yang dikirim

Atribut paling penting pada tag form adalah action, yang memberitahukan ke page / halaman mana data form akan dikirim. 

Attribut kedua adalah method yang memberitahukan bagaimana data tersebut dikirim. Ada dua option "GET" dan "POST" yang dapat digunakan.

Jika menggunakan "GET" maka nama dan nilai dari data yang dikirim akan terlihat pada URL, seperti


http://localhost/script.php?nama=ellyx&gender=L&usia=15

get sering digunakan untuk melakukan request data karena, keterbatasan data yang dapat dikirim dan keamanananya yang kurang. Post digunakan untuk mengirim data ke server seperti menambah record ke database.

jika menggunakan "POST" , maka ada 1 file lagi untuk membuat script PHP yang akan menerima dan memproses data yang dikirim.

pada file form utama, action diisi dengan file PHP yang akan menerima data


<form action="script.php" method="post" >

Langkah-langkah membuat :


Buka Dreamweaver

Ketik script form.php


Script :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Praktikum PHP 4</title>
</head>

<body>
<form action="script.php" name="form1" method="post">
<table border="0" width="500" height="300" Style='border-radius:10px;border-color:white;'>
 <tr>
     <td colspan="3"><b>DATA DIRI</b></td>
    </tr>
    <tr>
     <td> Nama Lengkap </td>
        <td width="10"><center>:</center></td>
        <td><input  type='text' name="nama"></td>
    </tr>
     <tr>
     <td> Email </td>
        <td><center>:</center></td>
        <td><input  type='text' name="email"></td>
    </tr>
    <tr>
     <td> Nama Panggilan</td>
        <td><center>:</center></td>
        <td>
         <input type="radio" value="L" name="gender"/>
         Laki-Laki
         &nbsp;&nbsp;&nbsp;&nbsp;
          <input type="radio" value="P" name="gender"/>
          Perempuan
        </td>
    </tr>
    <tr>
     <td>Tempat Lahir</td>
        <td><center>:</center></td>
        <td><input type='text' name="tempat"></td>
    </tr>
    <tr>
     <td>Tanggal Lahir</td>
        <td><center>:</center></td>
        <td>
         
<?php
$bulan=array("Januari" ,"Februari", " Maret" ,"April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember");

echo '<select name="hari">';
$hari=1;
while($hari<=31) {
echo "<option value='$hari'>$hari</option>";
$hari++;
}
echo '</select>';

echo '<select name="bulan">';
$jumlah=count($bulan);
for($i=0; $i<$jumlah ; $i++){
echo '<option value="'.$bulan[$i].'">'.$bulan[$i].'</option>';
}
echo '</select>';

echo '<select name="tahun">';
for($tahun=1995; $tahun<2010; $tahun++){
echo "<option value='$tahun'>$tahun</option>";
}
echo '</option>';

?>

        </td>
    </tr>
    <tr>
     <td>Umur</td>
        <td><center>:</center></td>
        <td>
         <select name="umur" >
             <option value="0-29">Di bawah 30 tahun</option>
                <option value="30-60">Antara 30 s/d 60 tahun</option>
                <option value="60++">Di atas 60 tahun</option>
            </select>
        </td>
    </tr>
    <tr>
     <td>Komentar</td>
        <td><center>:</center></td>
        <td>
        <textarea cols="28" rows="4" name="komentar"></textarea>
        </td>
    </tr>
    <tr>
     <td colspan="3"><center>
      <button type="submit" name="submit">Submit</button>
      <button type="reset" value="Refresh" ONCLICK="history.go(0)">Reset</button>
</center>
        </td>       
    </tr>
</table>

</form>

</body>
</html>

sekarang buat file yang satunya
namai script.php
*nb: kedua file harus ada di dalam folder yang sama


Script



<title>Prosesan</title>

<?php
$nama=$_REQUEST['nama'];
$email=$_REQUEST['email'];
$gender=$_REQUEST['gender'];
$tempat=$_REQUEST['tempat'];
$hari=$_REQUEST['hari'];
$bulan=$_REQUEST['bulan'];
$tahun=$_REQUEST['tahun'];
$umur=$_REQUEST['umur'];
$komentar=$_REQUEST['komentar'];

if($nama=="" || $gender=="")
{
 echo'<h3>Data tidak lengkap !</h3>';
}
else
{
 if($gender=='L'){
  echo'<h2>Selamat Datang Saudara, '.$nama.'</h2>';}
 else{
  echo'<h2>Selamat Datang Saudari, '.$nama.'</h2>';}
}

print ("
<table width='500'><tr><td>
<form   >

   <table>
  <tr>
    <td>Nama Lengkap</td>
    <td>:</td>
    <td>$nama</td>
  </tr>
   <tr>
    <td>Email</td>
<td>:</td>
<td>$email</td>
  </tr>
  <tr>
    <td>Jenis Kelamin</td>
    <td>:</td>
    <td>$gender</td>
  </tr>
  <tr>
    <td>Tempat Lahir</td>
<td>:</td>
<td>$tempat</td>
  </tr>
  <tr>
    <td>Tanggal lahir</td>
<td>:</td>
<td>$hari $bulan $tahun</td>
  </tr>
  <tr>
    <td>Umur</td>
    <td>:</td>
<td>$umur</td>
  </tr>
  <tr>
    <td>Komentar</td>
<td>:</td>
<td>$komentar</td>
 </tr>
 </table>
</form>
</td></tr></table>
");



?>

Setelah selesai, jalankan d browser dengan cara mengetikkan :

localhost/PraktikumPHP21/Form.php

Ini screenshootnya


Setelah disubmit



Terimakasih sudah membaca~
Powered by Blogger.
 

Blog Template by jun

Copyrights © 2011