Subscribe:
Tampilkan postingan dengan label php. Tampilkan semua postingan
Tampilkan postingan dengan label php. Tampilkan semua postingan

Rabu, 23 Mei 2012

Pengecekan Inputan Form Menggunakan JavaScript dan JQuery


Pengecekan inputan form dalam pemrograman web sangat penting untuk mendapatkan data yang valid untuk dimasukkan ke dalam database. Banyak metode untuk melakukan pengecekan form, salah satunya dengan PHP setelah proses submit. Namun dewasa ini pengecekan form lebih difokuskan dengan JavaScript agar pengguna tidak perlu menunggu waktu loading halaman apabila menggunakan PHP murni.

Pengecekan dengan JavaScript sedikit lebih rumit namun dengan plugin Validation Engine darijQuery, semua jadi lebih mudah. Dengan plugin Validation Engine, setiap inputan form dapat anda definisikan ingin diberi pengecekan seperti apa dan alert akan muncul di dekat inputan tersebut ketika validasi salah, berikut adalah contoh screenshot-nya:


Pertama-tama, siapkan form:

<form action="save.php" method="post" id="formMhs">
<h2>Daftar Mahasiswa Baru</h2>
<table>
  <tr>
        <td>NIM</td>
        <td>:</td>
        <td><input type="text" name="NIM" id="NIM"class="validate[required,custom[onlyNumber],length[10]
,ajax[ajaxCheckNIM]]" size="10" /> <small>* max char: 10</small></td>
  </tr>
  <tr>
        <td>Nama</td>
        <td>:</td>
        <td><input type="text" name="nama" id="nama"class="validate[required]" size="30" /></td>
  </tr>
  <tr>
        <td>Jenkel</td>
        <td>:</td>
        <td>
               <input type="radio" name="jeniskelamin"id="jeniskelamin1" class="validate[required]"  
value="pria" /> Pria
               <input type="radio" name="jeniskelamin"id="jeniskelamin2" class="validate[required]" 
 value="wanita" /> Wanita
        </td>
  </tr>
  <tr>
        <td>Tgl Lahir</td>
        <td>:</td>
        <td><input type="text" name="tgllahir" 
 id="tgllahir" class="validate[required,

custom[dateFormat]]" size="10" /> <small>* yyyy-mm-dd</small></td>
  </tr>
  <tr valign="top">
        <td>Alamat</td>
        <td>:</td>
        <td><textarea name="alamat" id="alamat" 
 rows="3" cols="30" class="validate[required]"></textarea></td>
  </tr>
  <tr>
        <td>Email</td>
        <td>:</td>
        <td><input type="text" name="email" id="email"class="validate[custom[email],ajax[ajaxCheckEmail]]"size="25" /></td>
  </tr>
  <tr>
        <td>Jumlah SKS</td>
        <td>:</td>
        <td><input type="text" name="jumlahsks"id="jumlahsks" class="validate[min[10],max[24]]" 
 size="3" /> <small>* minimal 10, maksimal 24</small>
</td>
  </tr> 
  <tr>
        <td>Website</td>
        <td>:</td>
        <td><input type="text" name="website"  
id="website" class="validate[custom[url]]" size="30"value="http://" /></td>
  </tr>
  <tr valign="top">
        <td>Pilih Mata Kuliah</td>
        <td>:</td>
        <td>
               <input type="checkbox"  
name="matakuliah[]" id="matakuliah1"class="validate[required]" value="Programming" />Programming<br />
               <input type="checkbox" 
 name="matakuliah[]" id="matakuliah2"class="validate[required]" value="Kalkulus" /> Kalkulus 
<br />
               <input type="checkbox"  
name="matakuliah[]" id="matakuliah2"class="validate[required]" value="Logika Matematika" />Logika Matematika<br />
               <input type="checkbox"  
name="matakuliah[]" id="matakuliah2"class="validate[required]" value="Bahasa Inggris" /> 
Bahasa Inggris
        </td>
  </tr>
  <tr>
        <td>Masukkan Password</td>
        <td>:</td>
        <td><input type="password" name="password"id="password" class="validate[required]" size="10" />
</td>
  </tr>
  <tr>
        <td>Ulangi Password</td>
        <td>:</td>
        <td><input type="password" name="password2"id="password2" class="validate
[required,equals[password]]" size="10" /></td>
  </tr>
</table>
<input type="submit" name="submit" value="Simpan" />
<input type="reset" value="Batal" id="btnReset" />
</form>

Perhatikan pada setiap inputan form ada class yang diisi format validasi yang diinginkan oleh plugin Validation Engine, berikut adalah beberapa format validation yang dipakai pada form diatas.
No
Jenis Validasi
Penggunaan
1
Required field, field harus diisi
validate[required]
2
Menentukan panjang karakter
Harus 10 karakter:
validate[length[10]]
Dari 0 s/d 10 karakter:
validate[length[0,10]]
3
Harus diisi hanya nomor
validate[custom[onlyNumber]]
4
Harus diisi dengan format tanggal
validate[custom[dateFormat]]
5
Harus diisi dengan format email
validate[custom[email]]
6
Harus diisi dengan format URL
validate[custom[url]]
7
Menentukan jumlah karakter minimal
validate[min[5]]
8
Menentukan jumlah karakter maksimal
validate[max[5]]
9
Isi harus sama dengan inputan lainnya
validate[equals[fieldlain]]
10
Memanggil validasi Ajax
validate[ajax[namaValidasiAjax]]

Apabila ada form yang ingin dimasukan validasi lebih dari satu maka penggunaannya adalah sebagai berikut:
<input type="text" name="nim" id="email"value="validate[required,custom[onlyNumberSp],length[10]]" />

Setelah mendefinisikan jenis validasi di masing-masing inputan form, maka jalankan perintah ini untuk menambahkan fungsi dari plugin Validation Engine di form anda:

$('#formMhs')
  .validationEngine() // fungsi untuk menambahkan feature validation ke form
  .ajaxForm({ // ketika validasi berhasil, inputan form akan dikirim via ajax dengan plugin jQuery ajax form
        success: function(response){
               alert(response);
               $('#btnReset').click(); // kosongkan form setelah selesai menyimpan data
        }
  });

Validation Engine juga dapat melakukan pengecekan via Ajax, yaitu dengan menambahkan key validasi ajax sebelum pemanggilan fungsi diatas.

$.validationEngineLanguage.allRules['ajaxCheckEmail'] = {
  "url": "check.php", // URL ajax
  "alertText": "* Email ini sudah ada sebelumnya", // alert text apabila ajax mengembalikan false
  "alertTextOk": "* Email tersedia", // alert text apabila ajax mengembalikan true
  "alertTextLoad": "* Sedang proses check Email" // alert text ketika proses pengecekan ajax sedang berlangsung
}

Pada form masukan key `ajaxCheckEmail` ke class inputan form:

<input type="text" name="email" id="email"value="validate[custom[email],ajax[ajaxCheckEmail]]" />

Lalu pada target URL ajax, lakukan pengecekan seperti berikut:
<?
$field = $_GET['fieldId']; // kiriman dari plugin Validation Engine yang berisi nama form yang ingin di cek
$value = $_GET['fieldValue']; // kiriman dari plugin Validation Engine yang berisi nilai form

require_once 'connect.php';
$query = "SELECT * FROM mahasiswa WHERE $field = '$value'";
$ditemukan = mysql_num_rows(mysql_query($query)) > 0;

$result  = array($field,!$ditemukan);
echo json_encode($result);
?>

Pengembalian nilai Ajax harus berupa JSON array numeric, pada contoh diatas akan menghasilkanJSON seperti berikut:
["NIM",true] atau ["email",true]
Baca Selengkapnya»»

Jumat, 06 April 2012

Tutorial Membuat PHP Search Engine

Ok jadi kali ini adalah tentang tutorial Cara membuat Search Engine Anda Sendiri.

Sekarang, saya harus pendahuluan ini dengan mengatakan bahwa ada sekitar dua triliun cara merancang dan menerapkan sebuah mesin pencari, tapi ini adalah salah satu yang paling mudah, dan cepat.


  Oke, Jadi Kode kepalan kita dengan apa yang kita harus mulai tepat setelah <php ....


1.$var = @$_GET['q'] ; // get the query for <span id="IL_AD3" class="IL_AD">the search</span> engine (if applicable)
2.$trimmed = trim($var); //trim whitespace from the stored <span id="IL_AD7" class="IL_AD">variable</span>



Ini potongan kode PHP harus di atas <head> dokumen. Baris pertama mengambil "q" ("q" adalah singkatan dari query, jika anda ingin tahu) dari pencarian. Baris kedua stripspasi putih.

Berikutnya kita akan perlu untuk menghubungkan ke database ... 


01.$user = "username"; // AN EDIT IS REQUIRED HERE
02.$password = "password";
03.$host = "host";
04.$dbase = "dbase";
05.$table = "table";
06. 
07.// Connection to DBase
08.mysql_connect($host,$user,$pass);
09.@mysql_select_db($dbase) or die("Unable to select database");


Variabel di atas perlu diatur (jelas) terhadap apa pun yang berlaku untuk host Anda / database.

Oke, sekarang kita akan berbicara tentang struktur database sedikit. Pada dasarnya, apa yang saya lakukan adalah menambahkan field ke dBASE disebut "kata kunci".Kemudian, aku masuk nilai dipisahkan koma yang ingin saya kaitkan dengan surattertentu. Lihatlah kode: 
1.$field_to_search = "field";
2.$query = "SELECT * FROM $table WHERE $field_to_search LIKE "%$trimmed%" order by id";
3. 
4.$result = mysql_query($query);
5.$count =mysql_numrows($result);


Jadi, keempat baris melakukannya :

1) Setel field untuk mencari variabel yang disebut $field_to_search
2) Query database untuk istilah yang dicari
3) Kembali hasil
4) Hitung hasil (untuk tujuan estetika kemudian)

Sampai saat ini, semua kode PHP harus dalam atau di atas bagian <head>. Untuk menjadi 100% jujur​​, tidak terlalu penting jika itu atau tidak di bagian <head>, tapi saya ingin untuk tetap "backend" saya PHP di sana karena "keluar dari jalan" (sehingga untuk berbicara ).

Ini potongan kode pertama TIDAK PHP. Ini tidak harus diletakkan di <? > Tag?. 


1.<form name="search" method="GET" action="<?=$PHP_SELF?>">
2.Seach the database for: <input type="text" name="q" />
3.<input type="submit" name="search" value="Search" />
4.</form>


Potongan kode di atas adalah bentuk HTML untuk query database. Jika Anda ingin,Anda dapat mengatur potongan kode untuk menyembunyikan bentuk ketika seseorangtelah melakukan pencarian, karena hasilnya akan ditampilkan pada halaman yang sama.Anda bisa melakukannya dengan kode ini: 


01.if($q == true)
02.{
03.exit;
04.}
05.elseif($q == false)
06.{
07.<form name="search" method="GET" action="<?=$PHP_SELF?>">
08.Seach all the newsletters for
09.<input type="text" name="q" />
10.<input type="submit" name="search" value="Search" />
11.</form>
12.}


Oke, itu hanya catatan ... untuk menampilkan hasil!

Ini adalah banyak kode, tapi itu cukup jelas ... Cukup ikuti komentar dalam kode, dan Anda harus memiliki ide yang baik apa yang terjadi. 

01.if ($trimmed == "")
02.{
03.echo "<p>Please enter a search...</p>";
04.exit;
05.}
06. 
07.// check for a search parameter
08.if (!isset($var))
09.{
10.echo "<p>We dont seem to have a search parameter!</p>";
11.exit;
12.}
13. 
14.$numresults=mysql_query($query);
15.$numrows=mysql_num_rows($numresults);
16. 
17.if ($numrows == 0)
18.{
19.echo "<h4>Results</h4>";
20.echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";
21.}
22. 
23.// next determine if s has been passed to script, if not use 0
24.if (empty($s))
25.{
26.$s=0;
27.}
28. 
29.// get results
30.$result = mysql_query($query) or die("Couldn't execute query");
31. 
32.if($numrows > 1){ $return = "results";}
33.else{ $return = "result"; }
34. 
35.// display what the person searched for
36.echo "<p>Your search for "" . $var . "&quot returned $numrows $return.</p>";
37. 
38.// begin to show results set
39.$count = 1 + $s ;<div><input type="hidden" name="IL_TAG_CLOUD" id="IL_TAG_CLOUD1"><div class="IL_BASE IL_TC" style="margin-top: 7px; margin-right: 15px; margin-bottom: 7px; margin-left: 15px; clear: both; width: 915px; "><div style="height:24px; border:1px solid #636363; background-color:#f4f4f4; border-radius:8px 8px 0 0; -webkit-border-radius:8px 8px 0 0; -moz-border-radius-topleft:8px; -moz-border-radius-topright:8px; margin: 0px;" class="IL_BASE">                                 <a style="border:0px none; font-family:Arial,sans-serif; font-size:13; font-weight:normal; color:#666666; float:right; height:19px; margin-right:7px; padding:4px 64px 1px 0; background:url(http://resources.infolinks.com/static/logo20-blue_2.png) no-repeat scroll right center transparent;" href="http://www.infolinks.com/" class="IL_BASE"></a>                                <div style="padding-left:7px; padding-top:5px; font-family:Arial,sans-serif; font-size:13; font-weight:normal; color:#666666; margin: 0px" class="IL_BASE">Tag Cloud</div>                        </div>                        <!-- body -->                        <div style="height:60px;border:1px solid #636363; border-top:0px; text-align:center; background-color:#FFFFFF; border-radius:0 0 8px 8px; -webkit-border-radius:0 0 8px 8px; -moz-border-radius-bottomleft:8px; -moz-border-radius-bottomright:8px; overflow: hidden; margin:0px;" class="IL_BASE">                        <ul id="IL_TAG_CLOUD_LIST0" class="IL_BASE" style="text-align: center !important; margin: 0px !important; padding: 0px !important; list-style: none outside none !important;"><li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD2" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 23px; color: rgb(0, 0, 153); ">Free work from home</span></li>
40.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD9" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 16px; color: rgb(0, 157, 12); ">Tax Bracket</span></li>
41.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD4" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 21px; color: rgb(0, 0, 153); ">Internet Services</span></li>
42.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD3" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 22px; color: rgb(0, 157, 12); ">Create a website</span></li>
43.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD5" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 20px; color: rgb(0, 0, 153); ">Online writing course</span></li>
44.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD6" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 19px; color: rgb(0, 157, 12); ">Website design tutorial</span></li>
45.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD7" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 18px; color: rgb(0, 0, 153); ">Personalized Gift</span></li>
46.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD8" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 17px; color: rgb(0, 157, 12); ">Legitimate work at home</span></li>
47.<li class="IL_BASE" style="display: inline-block; "><span id="IL_TAG_CLOUD_AD1" class="IL_BASE IL_TAG_CLOUD_AD" style="cursor: pointer; white-space: nowrap; float: none; line-height: 30px; vertical-align: top; font-size: 24px; color: rgb(0, 0, 153); ">Free work at home</span></li></ul>                         </div></div></div>



Oke, saya telah memilih untuk mengganggu kode di sini untuk menjelaskan while loop ()berikut. Jika Anda telah bekerja dengan PHP / mySQL untuk setiap jangka waktu singkat, Anda mungkin membuat sebuah lingkaran seperti ini, tapi saya akan berasumsi bahwa Anda belum.

Apa yang akan Anda inginkan, sehingga untuk mengatur variabel, kemudian menempatkan tanda =, maka $ r [""];. dalam tanda kutip ("), Anda akan menambahkannama field yang ingin Anda kaitkan dengan variabel tersebut. saya akan menunjukkanbeberapa contoh, tapi tolong sekarang bahwa Anda akan perlu mengubah ini agar sesuai database Anda. 


01.while ($r= mysql_fetch_array($result))
02.{
03.$id = $r["id"];
04.$year = $r["year"];
05.$date = $r["date"];
06.$title = $r["title"];
07.$description = $r["description"];
08. 
09.$count++ ;
10.?>



Jadi sekarang Anda memiliki while () loop Anda mengatur. Baris terakhir ada $count + +;. Biasanya, Anda akan mengakhiri loop sementara dengan tanda kurung tutup (}), tetapi kita akan "keluar" dari sementara () loop sini untuk memformat hasil kami. Dengan melanggar keluar dari while loop untuk memasukkan beberapa baik ol 'HTML, Andaakan menghasilkan HTML setiap kali sementara loop melewati, jadi, dengan kata lain, untuk setiap hasil pencarian Anda! Cukup pintar, ya?

Menggunakan database contoh di atas, saya akan menunjukkan apa yang bisa dilakukan ... Perlu diingat, ini perlu LUAR <itu? > Tag? ... lebih tepatnya, di antara mereka. 


1.<a href="http://www.YOURDOMAIN.com/archive/<;? echo $year ?>/<? echo $id ?>.html"><? echo $title ?></a>
2. 
3.<? echo $description ?>
4.Result Number: <? echo $count ?>

Oke, jadi jika pencarian Anda kembali 12 hasil, semua html Anda akan ditulis untuk Anda dengan link, judul, deskripsi, dan membiarkan Anda tahu mana jumlah hasil yang Anda lihat!

Sekarang, bagian yang sangat penting dari kode: 


1.<? } ?>


Anda harus menutup loop sementara Anda! Banyak jam frustasi banyak saya telahdihabiskan debugging kode sumber karena saya lupa delapan karakter kecil!
Baca Selengkapnya»»