cara validasi formulir di kedua belah pihak menggunakan php dan jquery

18

Click here to load reader

Upload: siejuelek

Post on 06-Aug-2015

388 views

Category:

Documents


0 download

DESCRIPTION

Belajar PHP

TRANSCRIPT

Page 1: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

13 Januari 2009

Viagra Pfizer Singapore, Pembelian Viagra Inggris @ online ada sisi Paypal Resep (menggunakan PHP). Jadi saya menulis tutorial tentang hal itu, menambahkan beberapa fitur menarik dengan jQuery :

Kita akan belajar bagaimana untuk memvalidasi formulir Anda menggunakan PHP dan jQuery di kedua sisi: sisi client (menggunakan javascript dengan jQuery ) dan sisi server (menggunakan PHP). Ini akan menarik untuk melihat bagaimana menggunakan ekspresi reguler untuk memvalidasi berbagai jenis e-mail, password dan banyak lagi.

Seperti biasa, di sini Anda memiliki preview apa yang akan kita lakukan:

Anda dapat mencoba contoh yang hidup sebelum melanjutkan membaca tutorial. Ingat bahwa jika Anda ingin mencoba sisi server, Anda perlu menonaktifkan javascript di browser web Anda!

Diuji dalam: Firefox , Internet Explorer 6 & 7 , Opera , Safari & Chrome .

Mari kita belajar guys!

Pengantar

Page 2: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Seperti yang Anda ketahui, kami meminta Anda tutorial Wich yang Anda ingin melihat di yensdesign dan seperti yang saya katakan, Anda dapat mengirimkan lebih banyak saran dan masukan di forum kami.

Pada saran ini adalah tentang bagaimana untuk memvalidasi bentuk di sisi server menggunakan PHP, sehingga dalam tutorial ini kita akan menggunakan PHP dan jQuery untuk memvalidasi semua bidang di kedua sisi:

Sisi client: Menggunakan javascript dengan jQuery . Sisi server: Menggunakan PHP.

Kami akan menggunakan ekspresi reguler dan jika Anda tidak tahu tentang mereka, Anda akan melihat segera kekuasaan mereka. Omong-omong, Anda dapat memeriksa sumber ini untuk mempelajari lebih lanjut tentang ekspresi reguler dalam bahasa yang berbeda.

Pada akhir tutorial, kita akan mendapatkan contoh kerja akhir nyata yang akan memvalidasi bidang kami dengan / tanpa javascript diaktifkan, tapi selalu memanfaatkan Validasi sisi server.

Mari selami tutorial!

Langkah 1: Pendekatan Pertama Layout xHTML

Dalam hal ini kita akan membuat tata letak HTML sederhana yang menunjukkan formulir kami. Dalam pendekatan pertama HTML akan terlihat seperti ini:

<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" dir="ltr"> <head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> yensdesign.com - Validasi Formulir menggunakan PHP dan jQuery

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

media="screen" /> </ Head> <body>

<A id = "logo" title = "Pergi ke yensdesign.com!" href = "http://www.yensdesign.com"> <img src="css/images/logo.jpg" alt="yensdesign.com" /> </ a>

<div id="container"> <h1> Proses registrasi </ h1>

<div id="error"> <ul>

<li> <strong> Nama tidak valid: </ strong> Kami ingin nama dengan lebih dari 3 huruf </ li>!

<li> <strong> valid E-mail: </ strong>

koboi Stop! Ketik e-mail silakan berlaku </ Li>

Page 3: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

<li> <strong> Sandi tidak valid: </ strong> Password tidak cocok atau tidak valid </ li>!

<li> <strong> pesan Ivalid: </ strong> Ketik pesan dengan setidaknya dengan 10 huruf </ li>

</ Ul> </ Div> <div id="error" class="valid">

<ul> <li> <strong> Selamat! </ strong>

Semua bidang yang OK </ Li> </ Ul>

</ Div>

<form method="post" id="customForm" action=""> <div>

<label for="name"> Nama </ label> <input id="name" name="name" type="text" /> <span id="nameInfo"> Siapa nama Anda </ span>?

</ Div> <div>

<label for="email"> E-mail </ label> <input id="email" name="email" type="text" /> <span id="emailInfo"> E-mail Valid silahkan,

Anda akan perlu untuk login! </ span> </ Div> <div>

<label for="pass1"> Sandi </ label> <input id="pass1" name="pass1" type="password"

/> <span id="pass1Info"> Setidaknya 5 karakter:

huruf, angka, dan '_' </ span> </ Div> <div>

<label for="pass2"> Konfirmasi Kata Sandi </ label>

<input id="pass2" name="pass2" type="password" />

<span id="pass2Info"> Confirm password </ span>

</ Div> <div>

<label for="message"> Pesan </ label> <textarea id="message" name="message" cols=""

rows=""> </ textarea> </ Div> <div>

<input id="send" name="send" type="submit" value="Send" />

</ Div> </ Form>

</ Div> <script type="text/javascript" src="jquery.js"> </ script> <script type="text/javascript" src="validation.js"> </ script>

</ Body> </ Html>

Page 4: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Seperti yang Anda lihat kami telah membuat semua divisi yang akan muncul (atau tidak) dalam tutorial kami. Beberapa divisi tersebut tidak akan terlihat sebagai default, tapi kami akan menambahkan beberapa conditional di PHP dan CSS untuk mendapatkan ini. Jadi ini adalah divisi:

Kontainer #: berisi semua divisi

Kesalahan #: berisi daftar kesalahan mungkin setelah mengirimkan formulir

# Error.valid: berisi "selamat frase" jika semua itu OK

# CustomForm: berisi formulir kami

Jadi sekarang kita memiliki kami xHTML tata letak siap mari kita tambahkan beberapa gaya dengan CSS.

Langkah 2: Menambahkan gaya dengan CSS

Ini akan menjadi orang yang cepat, hanya mengambil melihat kode general.css:

@ CHARSET "UTF-8"; / ******* RESET UMUM ******* / html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pra, sebuah, abbr, akronim, alamat, besar, mengutip, kode, del, DFN, em, font, img, ins, kbd, q, s, Samp, kecil, pemogokan, kuat, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, bentuk, label, legenda, meja, keterangan, tbody, tfoot, THead, tr, th, td { border: none 0pt; font-family: mewarisi;

Page 5: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

font-size: 100%; font-style: mewarisi; font-weight: mewarisi; margin: 0pt; padding: 0pt; vertical-align: dasar; } body {

background: # fff; line-height: 14px; font-size: 12px; font-family: Arial, Verdana, Helvetica, sans-serif; margin: 0pt; kursor: default; overflow: hidden;

} html, body {

height: 100%; text-align: center;

} . Jelas {

clear: both; height: 0; visibility: hidden; display: block;

} a {

text-decoration: none; } kuat {

font-weight: 700; } / ******* RESET UMUM ******* / h1 {

font-weight: 700; font-size: 18px; line-height: 1.2em; border-bottom: 1px dotted # 6b9ef1; color: # 5f95ef; margin-bottom: 1em;

} / ******* LOGO ******* / # Logo {

margin-top: 1em; display: block;

} / ******* / LOGO ******* / / ******* CONTAINER ******* / # Kontainer {

width: 600px; margin: 40px auto; text-align: kiri;

} / ******* / CONTAINER ******* / / ******* FORMULIR ******* / # CustomForm {

padding: 0 10px 10px;

Page 6: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

} # CustomForm label {

display: block; color: # 797.979; font-weight: 700; line-height: 1.4em;

} # CustomForm masukan {

width: 220px; padding: 6px; color: # 949.494; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 11px; border: 1px solid # cecece;

} # CustomForm input.error {

background: # f8dbdb; border-color: # e77776;

} # CustomForm textarea {

width: 550px; height: 80px; padding: 6px; color: # adaeae; font-family: Arial, Verdana, Helvetica, sans-serif; font-style: italic; font-size: 12px; border: 1px solid # cecece;

} # CustomForm textarea.error {

background: # f8dbdb; border-color: # e77776;

} # CustomForm div {

margin-bottom: 15px; } # CustomForm div rentang {

margin-left: 10px; color: # b1b1b1; font-size: 11px; font-style: italic;

} # CustomForm div span.error {

color: # e46c6e; } # # CustomForm kirim {

background: # 6f9ff1; color: # fff; font-weight: 700; font-style: normal; border: 0; kursor: pointer;

} # # CustomForm kirim: hover {

background: # 79a7f1; } # Error {

Page 7: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

margin-bottom: 20px; border: 1px solid # efefef;

} # Error ul {

Daftar-style: persegi; padding: 5px; font-size: 11px;

} # Error ul li {

Daftar-style-position: inside; line-height: 1.6em;

} # Error ul li {yang kuat

color: # e46c6d; } # Error.valid ul li {yang kuat

color: # 93d72e; } / ******* / FORMULIR ******* /

Seperti biasa kami menggunakan potongan ulang keren kami CSS dan menambahkan beberapa bagian yang menarik dengan tutorial tertentu.

Hanya melihat bahwa kita telah mendefinisikan beberapa kelas kesalahan yang akan kita gunakan dalam. jQuery bagian untuk membuat tutorial kami pengguna

sedikit lebih dingin dan ramah

Selanjutnya bagian, validasi javascript!

Langkah 3: Validasi di sisi client dengan jQuery

Ya guys, karena tidak bisa kalau tidak kita akan menggunakan jQuery untuk membuat bagian validasi di sisi client. Kami akan menambahkan / menghapus beberapa kelas kesalahan. Untuk membuat formulir kami sedikit lebih intuitif bagi pengguna akhir.

Jadi pertama-tama, ingatlah bahwa seluruh kode berikut ini akan berada di $ (dokumen) siap () dari jQuery dan. Semua akan menjadi bagian dari file javascript validation.js bernama (asli, eh?).

Page 8: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Jadi mari kita simpan referensi ke beberapa elemen DOM yang sering kita akan:

/ / Global yang vars var form = $ ("# customForm"); var name = $ ("# nama"); var nameInfo = $ ("# nameInfo"); var email = $ ("# email"); var emailInfo = $ ("# emailInfo"); var pass1 = $ ("# pass1"); var pass1Info = $ ("# pass1Info"); var pass2 = $ ("# pass2"); var pass2Info = $ ("# pass2Info"); var message = $ ("# message");

Seperti yang Anda mungkin melihat, semua referensi adalah bentuk terkait.

Sekarang mari kita mendefinisikan validasi kami fungsi yang akan membantu kita dalam proses validasi:

validateEmail (): kita hanya memungkinkan email yang sah!

validateName (): kami hanya mengizinkan nama dengan lebih dari 3 huruf

validatePass1 (): kita hanya mengijinkan password dengan setidaknya 5 karakter

validatePass2 (): kita hanya memungkinkan jika password yang sama

validateMessage (): kita hanya pesan dengan lebih dari 10 huruf

Fungsi validateName () { / / Jika itu TIDAK berlaku

Page 9: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

if (name.val () panjang <4.) { name.addClass ("error"); nameInfo.text ("Kami ingin nama dengan lebih dari 3 huruf!"); nameInfo.addClass ("error"); return false;

} / / Jika berlaku else {

name.removeClass ("error"); nameInfo.text ("Siapa nama Anda?"); nameInfo.removeClass ("error"); return true;

} } Fungsi validatePass1 () {

var a = $ ("# password1"); var b = $ ("# password2");

/ / Itu TIDAK berlaku if (pass1.val () panjang <5.) {

pass1.addClass ("error"); pass1Info.text ("Ey Ingat: Setidaknya 5 karakter: huruf,

angka, dan '_'"); pass1Info.addClass ("error"); return false;

} / / Itu berlaku else {

pass1.removeClass ("error"); pass1Info.text ("Setidaknya 5 karakter: huruf, angka, dan

'_'"); pass1Info.removeClass ("error"); validatePass2 (); return true;

} } Fungsi validatePass2 () {

var a = $ ("# password1"); var b = $ ("# password2"); / / TIDAK berlaku if (pass1.val () = pass2.val! ()) {

pass2.addClass ("error"); pass2Info.text ("Password tidak cocok!"); pass2Info.addClass ("error"); return false;

} / / Berlaku else {

pass2.removeClass ("error"); pass2Info.text ("Confirm password"); pass2Info.removeClass ("error"); return true;

} } Fungsi validateMessage () {

/ / Itu TIDAK berlaku if (message.val () panjang <10.) {

Page 10: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

message.addClass ("error"); return false;

} / / Itu berlaku else {

message.removeClass ("error"); return true;

} }

Seperti yang Anda lihat, kami menambahkan dan menghapus kesalahan dan kelas. Mengubah nilai teks jika diperlukan untuk menunjukkan pengguna apa bidang yang salah.

Sekarang kita telah mendefinisikan semua fungsi validasi, kita hanya perlu untuk mengelola kegiatan. Di sini Anda memiliki apa yang akan kita lakukan:

Validasi kolom nama dalam: blur dan keyup peristiwa.

Validasi bidang email di: blur acara.

Memvalidasi kolom password di: blur dan keyup peristiwa.

Validasi kolom pesan di: blur, dan acara keyup.

Memvalidasi semua bidang di: submit event bentuk.

Oleh karena itu kode akan menjadi:

/ / Pada blur name.blur (validateName); email.blur (validateEmail); pass1.blur (validatePass1);

Page 11: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

pass2.blur (validatePass2); / / Pada tekan tombol name.keyup (validateName); pass1.keyup (validatePass1); pass2.keyup (validatePass2); message.keyup (validateMessage); / / Pada Mengirimkan form.submit (function () {

if (validateName () &amp; validateEmail () &amp; validatePass1 () &amp; validatePass2 () &amp; validateMessage ())

kembali benar lain

return false; });

Seperti yang Anda lihat, itu sangat mudah untuk mengontrol apa saja yang kita inginkan dengan menggunakan jQuery dan beberapa fungsi. Jadi sekarang kita telah melakukan situs cliend, mari kita pindah ke sisi server!

Langkah 4: Validasi di sisi server dengan PHP

Sekarang bahwa kita memiliki sisi client dilakukan, mari kita gunakan kekuatan PHP untuk menyelesaikan tutorial kami.

Beberapa dari Anda mungkin berpikir bahwa kita tidak perlu validasi sisi server, tetapi itu adalah kesalahan besar berpikir tentang hal itu. Ingatlah bahwa kita tidak percaya pada sisi klien. Dalam contoh: pengguna dapat menonaktifkan javascript pada browser mereka dan mengirimkan nilai-nilai yang tidak diinginkan.

Jadi pertama-tama kita harus membuat file baru php bernama validation.php yang akan berisi validasi kami fungsi ditulis dalam PHP.:

<? Php Fungsi validateName ($ nama) {

/ / Jika itu TIDAK berlaku if (strlen ($ nama) <4)

return false; / / Jika berlaku lain

return true; }

Page 12: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Fungsi validateEmail ($ email) { kembali ereg ("^ [a-zA-Z0-9] + [a-zA-Z0-9_-] + @ [a-zA-Z0-9]

+ [a-zA-Z0-9 -.] + [ a-zA-Z0-9] + [az] {2,4} $ ", $ email).; } Fungsi validatePasswords ($ pass1, pass2 $) {

/ / Jika TIDAK MATCH if (strpos ($ pass1, '') == false!)

return false; / / Jika berlaku return $ pass1 == $ pass2 &amp; &amp; strlen ($ pass1)> 5;

} Fungsi validateMessage ($ pesan) {

/ / Jika itu TIDAK berlaku if (strlen ($ pesan) <10)

return false; / / Jika berlaku lain

return true; }

?>

Seperti yang Anda lihat kita telah mendefinisikan 4 fungsi:

validateName (): memeriksa apakah nama setidaknya memiliki 4 huruf

validateEmail (): memeriksa apakah email valid

validatePasswords (): memeriksa apakah password yang sama dan memiliki minimal 5 huruf

validateMessage (): memeriksa apakah pesan memiliki setidaknya 10 huruf

Ini hampir done guys, kita hanya perlu menambahkan beberapa conditional ke index.php kami. Jika Anda ingat, kita mengatakan bahwa kita akan menambahkan beberapa conditional di PHP, jadi saatnya untuk melakukan itu:

Page 13: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Kami akan menampilkan # divisi kesalahan hanya jika setidaknya ada satu kesalahan.

Kami akan menampilkan # divisi error.valid hanya jika semua bidang yang OK.

Jadi di sini Anda memiliki tata letak index.php akhir:

<? Php require_once ("validation.php");

?>

<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" dir="ltr"> <head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> yensdesign.com - Validasi Formulir menggunakan PHP dan jQuery

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

media="screen" /> </ Head> <body>

<A id = "logo" title = "Pergi ke yensdesign.com!" href = "http://www.yensdesign.com"> <img src="css/images/logo.jpg" alt="yensdesign.com" /> </ a>

<div id="container"> <h1> Proses registrasi </ h1>

<If (isset ($ _POST ['kirim']) &amp; amp;? Amp; amp; amp; amp; amp; amp; &amp; amp; amp; amp; amp; amp; amp; amp; (validateName ($ _POST ['nama']) |! | validateEmail ($ _POST ['email']) |! | validatePasswords ($ _POST ['pass1'], $ _POST ['pass2']) |! |! validateMessage ($ _POST ['pesan']))):?>

<div id="error"> <ul>

<If (validateName ($ _POST ['nama'])!):??>

<li> <strong> Nama tidak valid: </ strong> Kami ingin nama dengan lebih dari 3 huruf </ li>!

<Endif??> <Jika? (ValidateEmail ($ _POST

['email'])!):?> <li> <strong> valid E-

mail: </ strong> koboi Stop! Ketik e-mail silakan berlaku </ Li> <Endif??> <If (validatePasswords ($ _POST

['pass1'], $ _POST ['pass2'])!):??>

Page 14: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

<li> <strong> Sandi tidak valid: </ strong> Password tidak cocok atau tidak valid </ li>!

<Endif??> <Jika? (ValidateMessage ($

_POST ['pesan'])!):?> <li> <strong> pesan

Ivalid: </ strong> Ketik pesan dengan setidaknya dengan 10 huruf </ li> <Endif?>

</ Ul> </ Div>

<Elseif (isset ($ _POST ['kirim'])):??> <div id="error" class="valid">

<ul> <li> <strong> Selamat! </

strong> Semua bidang yang OK </ Li> </ Ul>

</ Div> <Endif??>

<form method="post" id="customForm" action=""> <div>

<label for="name"> Nama </ label> <input id="name" name="name" type="text" /> <span id="nameInfo"> Siapa nama Anda </ span>?

</ Div> <div>

<label for="email"> E-mail </ label> <input id="email" name="email" type="text" /> <span id="emailInfo"> E-mail Valid silahkan,

Anda akan perlu untuk login! </ span> </ Div> <div>

<label for="pass1"> Sandi </ label> <input id="pass1" name="pass1" type="password"

/> <span id="pass1Info"> Setidaknya 5 karakter:

huruf, angka, dan '_' </ span> </ Div> <div>

<label for="pass2"> Konfirmasi Kata Sandi </ label>

<input id="pass2" name="pass2" type="password" />

<span id="pass2Info"> Confirm password </ span>

</ Div> <div>

<label for="message"> Pesan </ label> <textarea id="message" name="message" cols=""

rows=""> </ textarea> </ Div> <div>

<input id="send" name="send" type="submit" value="Send" />

</ Div> </ Form>

Page 15: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

</ Div> <script type="text/javascript" src="jquery.js"> </ script> <script type="text/javascript" src="validation.js"> </ script>

</ Body> </ Html>

Seperti yang Anda lihat kita telah memasukkan file validation.php sebelum memanggil fungsi-fungsi validasi dan menambahkan beberapa panggilan ke fungsi validasi kami untuk memeriksa field saat bentuk yang submited.

Kami telah menggunakan PHP notasi singkat dalam conditional untuk menjaga HTML lebih bersih dan lebih mudah dibaca.

Kami menunjukkan kesalahan / "selamat frase" sesuai kebutuhan dan sekarang Anda hanya perlu tahu apa yang Anda lakukan dengan hal ini nilai-nilai

divalidasi

Langkah 5: Pengujian Formulir kami divalidasi!

Itu semua orang, saya harap Anda merasa berguna dan menggunakan tutorial ini untuk meningkatkan website Anda sedikit lebih.

Ingat bahwa jika Anda ingin mencoba sisi server, Anda perlu menonaktifkan javascript di browser web Anda. Pada Firefox itu di Tools> Options> hapus centang Konten "Enable Javascript" kotak centang.

Anda dapat mencoba secara online tutorial di sini untuk melihat bagaimana ini bekerja dan download di sini semua sumber .

Ingat bahwa Anda dapat memecahkan keraguan Anda di forum kami dan mengikuti os di Twitter untuk tahu lebih banyak tentang apa yang kita lakukan di setiap saat!

Page 16: Cara Validasi Formulir di kedua belah pihak menggunakan PHP dan jQuery

Sampai jumpa di tutorial berikutnya dan ingat bahwa kami ingin Anda sarankan tutorial untuk menulis!

Satu hal lagi ...

Dijamin lulus 642-873 ujian dengan menggunakan 646-363 sumber daya ujian disiapkan oleh 83-640 profesional bersertifikat di certkiller.