Anda mungkin sering jengkel dengan form yang telah Anda buat. Berharap form input email hanya diisi dengan email, tapi ternyata orang yang iseng memasukkan data bukan email, jengkel bukan? Belum lagi ketika pengunjung tidak mengisi data dan yang muncul hanya pesan error dari SQL. Panjang password dan username yang harusnya 6 karakter tapi ternyata banyak user yang memasukkan 4 karakter.
Lalu bagaimana memberikan filter pada form yang Anda buat sehingga data yang diinput mendekati akurat? Note: Tutorial ini ditujukan bagi pengguna CS4 ke atas.
Tutorial ini akan mengkombinasikan fungsi Spry (AJAX) yang dimiliki oleh Dreamweaver dan script PHP untuk memfilter data yang diinput oleh user. Dari tutorial ini Anda diharapkan dapat:
- Membuat form registrasi dengan filter AJAX/JavaScript
- Mengaktifkan form Insert Record
- Memfilter data sebelum masuk ke database
Sebelum masuk ke tutorial ini, pastikan Anda telah mempelajari kedua tutorial ini:
- Membuat Site Definition di Dreamweaver CS5, dan
- Membuat koneksi database PHP MySQL dengan Dreamweaver CS5
Kebutuhan database MySQL
Dalam contoh ini, Anda akan membuat tabel users dengan kolom-kolom berikut ini:
- id, merupakan primary key
- nama, field untuk menyimpan data nama
- email, field untuk menyimpan data email
- username, field untuk menyimpan data email. Diharapkan panjang username minimal 6 karakter.
- password, field untuk menyimpan data password. Diharapkan panjang password minimal 6 karakter dan enkripsi SHA1.
- tanggal, untuk menyimpan tanggal update data
Berikut ini adalah SQL dari tabel users.
CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(64) NOT NULL, `email` varchar(64) NOT NULL, `username` varchar(64) NOT NULL, `password` varchar(64) NOT NULL, `tanggal` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Struktur File dan Form registrasi
Tutorial ini menggunakan file yang disimpan dengan nama validasi_data.php. Sedangkan file style.css disimpan dalam folder css. Berikut struktur folder dan file tutorial kali ini:
- Connections, folder untuk menyimpan file koneksi database: koneksi.php.
- css, folder untuk menyimpan file style.css
- validasi_data.php adalah file yang akan digunakan untuk latihan.
Koneksi database: koneksi.php
File ini berfungsi untuk mengkoneksikan database:
<?php # FileName="Connection_php_mysql.htm" # Type="MYSQL" # HTTP="true" $hostname_koneksi = "localhost"; $database_koneksi = "tutorial_blog"; $username_koneksi = "root"; $password_koneksi = ""; $koneksi = mysql_pconnect($hostname_koneksi, $username_koneksi, $password_koneksi) or trigger_error(mysql_error(),E_USER_ERROR); ?>
File style.css untuk mengatur tampilan halaman web
Berikut adalah file tersebut:
body { background-color: #063; margin: 0px; padding: 0px; } form { background-color: #E7E7E7; padding: 20px; border: thin solid #CECECE; border-radius: 5px; } label { font-size: 14px; font-weight: bold; text-transform: capitalize; display: block; } input { padding: 5px 10px; } h1 { padding-bottom: 10px; border-bottom: solid thin #D4D4D4; font-size: 18px; } a, a:visited { text-decoration: none; } a:hover { color: #900; } #wrapper { font-family: Tahoma, Geneva, sans-serif; background-color: #FFF; margin: auto; padding: 20px 30px; height: auto; width: 960px; border-right-width: 5px; border-right-style: solid; border-right-color: #CCC; border-bottom-width: 5px; border-left-width: 5px; border-bottom-style: solid; border-left-style: solid; border-bottom-color: #CCC; border-left-color: #CCC; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } img { max-width: 900px; padding: 10px; border: solid thin #F9F; background-color: #FFC; height: auto; } .warning { background-color: #FCF; color: #900; padding: 5px 10px; border: solid thin #900; border-radius: 5px; }
File latihan validasi_data.php
File ini adalah file utama yang akan dikerjakan dalam tutorial ini, berikut adalah script file tersebut:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> <link href="css/style.css" rel="stylesheet" type="text/css"> </head>
<body> <div id="wrapper"> <h1><a href="http://www.javawebmedia.com">Home</a> | <a href="http://www.javawebmedia.com">About Java Web Media</a> | <a href="http://www.javawebmedia.com">Course</a> | <a href="http://www.javawebmedia.com">Contact Us</a></h1> <h2>Registration form</h2> <p>Form registrasi ada di sini</p> </div> </body> </html>
Membuat form input data
Langkah selanjutnya adalah membuat form untuk memasukkan data. Lihat gambar di atas.
- Ubah tampilan Workspace Anda menjadi Design View. Lihat gambar di atas
- Seleksi tulisan Registrasi form ada di sini. Hapus tulisan tersebut.
- Klik Insert > Form > Form
- Klik Insert > Spry > Spry Validation Textfield.
- Pada kolom ID: nama dan Label: Nama Anda:. Klik OK.
- Letakkan kursor Anda di samping kanan form input nama lalu tekan Enter.
- Klik Insert > Spry > Spry Validation Textfield. Pada kolom ID: email dan Label: Alamat email Anda:. Klik OK.
- Letakkan kursor Anda di samping kanan form input email, lalu tekan Enter.
- Klik Insert > Spry > Spry Validation Textfield. Pada kolom ID: username dan Label: Username Anda:. Klik OK.
- Letakkan kursor Anda di samping kanan form input username, lalu tekan Enter.
- Klik Insert > Spry > Spry Validation Password (fitur ini baru ada pada Dreamweaver CS4 ke atas). Pada kolom ID: password dan Label: Password Anda:. Klik OK.
- Letakkan kursor Anda di samping kanan form input password, lalu tekan Enter.
- Klik Insert > Form > Button. Pada kolom ID: submit. Biarkan Label tetap kosong lalu klik OK.
- Klik pada tombol Submit yang sudah muncul lalu copy dan letakkan di samping tombol Submit.
- Klik tombol Submit kedua yang baru saja Anda paste, lalu melalui panel Properties ubah menjadi Reset form.
- Simpan hasil pekerjaan Anda. Jika ada pop-up menu keluar untuk menanyakan apakah file Spry akan disimpan, klik OK.
Memilih type dan panjang data yang ingin difilter menggunakan AJAX/Spry
Pada langkah ini, Anda akan belalajar menggunakan fasilitas Spry yang disediakan oleh Dreamweaver. Fitur spry ini bekerja selayaknya AJAX. Ketika Anda bekerja menggunakan mode Design View, maka setiap kali Anda melakukan hover (atau mengarahkan kursor di atas form yang tadi Anda beri fasilitas spry, maka Dreamweaver akan langsung menampilkan notifikasi berwarna biru pada masing-masing spry.
Fitur spry tidak terlalu susah untuk dipelajari, dan mudah untuk Anda gunakan.
Klik Notifikasi atau Pop-up menu tersebut, maka fasilitas pengaturan Spry akan muncul di jendela Properties yang terletak di bagian bawah work space Anda. Pada contoh di bawah dipilih pada Spry Textfield2.
Beberapa fitur yang harus Anda pahami antara lain:
- Type, adalah type data yang akan Anda validasi. Dalam contoh ini Email Address
- Format, adalah format penulisan. Dalam contoh ini tidak digunakan
- Patern, pola dari teks. Dalam contoh ini tidak digunakan
- Hint, akan menampilkan teks panduan bagi pengunjung web tentang type dan format data seperti apa yang ingin dimasukkan.
- Min chars, minimal karakter yang harus diketik
- Max chars, maksimal karakter yang boleh dimasukkan.
- Validate on, adalah kapan validasi data harus diaktifkan. Secara Default Dreamweaver akan memilih Submit. Dalam contoh ini dipilih ketiganya (Blur dan Change) juga diaktifkan. Ini artinya fitur spry akan langsung menampilkan pesan error meskipun data yang Anda ketik belum selesai.
- Required, artinya wajib atau harus diisi. Jika form input tidak wajib diisi, maka Anda bisa memilih untuk meng-Unchecked-nya.
Dengan menggunakan fitur spry di atas, lakukan pengaturan filter data seperi berikut ini. Dalam contoh ini, berikut beberapa filter data yang akan diberikan di setiap form input data:
- nama, minimal 5 huruf dan harus diisi (Required). Validate on: Blur and Change aktif.
- email, type harus alamat email, dan hint-nya: contact@javawebmedia.com. Validate on: Blur and Change aktif.
- username, minimal menggunakan 6 karakter/huruf dan maximal 16 karakter/huruf. Validate on: Blur and Change aktif.
- password, minimal 6 karakter dan maximal 32 karakter. Validate on: Blur and Change aktif.
- Simpan kembali pekerjaan Anda
Mengubah tampilan Spry melalui CSS
Jika Anda perhatikan, lay out bawaan Spry sangatlah tidak menarik. Pesan peringatan muncul dengan warna merah dan bingkai merah. Pada langkah ini, Anda akan belajar melakukan kustomisasi tampilan CSS.
SpryValidationTextfield.css
Jika Anda menggunakan Dreamweaver CS4 ke atas, klik file SpryValidationTextfield.css yang ada pada menu related file. Lalu pada baris kode ke-33 lakukan perubahan sehingga menjadi:
textfieldRequiredState .textfieldRequiredMsg, .textfieldInvalidFormatState .textfieldInvalidFormatMsg, .textfieldMinValueState .textfieldMinValueMsg, .textfieldMaxValueState .textfieldMaxValueMsg, .textfieldMinCharsState .textfieldMinCharsMsg, .textfieldMaxCharsState .textfieldMaxCharsMsg { display: block; color: #CC3333; }
Lalu pada baris ke-73 yang semula adalah sebagai berikut:
.textfieldHintState input, input.textfieldHintState { /*color: red !important;*/ }
Ubah menjadi:
.textfieldHintState input, input.textfieldHintState { /*color: red !important;*/ color: #CCC; }
Simpan kembali file SpryValidationTextfield.css Anda. Anda dapat melakukan perubahan pada SpryValidationPassword.css dengan cara yang kurang lebih sama. Berikut hasil kustomisasi dari layout file Spry tadi.
Mengaktifkan form Insert Record
Anda telah membuat filter data yang akan dientry pada tingkat dasar. Fitur Spry ini akan sangat berguna jika user tidak mematikan fitur JavaScript pada browser yang mereka gunakan. Jika fitur JavaScript mereka disable atau dinonaktifkan, maka fungsi Spry tidak akan ada gunanya.
Langkah selanjutnya adalah mengaktifkan form Insert Record. Berikut langkah-langkahnya:
- Klik kembali pada file Source code di Dreamweaver Anda (lihat gambar).
- Klik Insert > Data Objects > Insert Record > Insert Record
- Submit values from: form1
- Connections: koneksi
- Insert table: users
- Columns:, pastikan hanya id dan tanggal yang tidak mendapatkan value.
- After inserting, go to: validasi_data.php
- Klik OK
- Simpan kembali hasil pekerjaan Anda.
Validasi Server Side menggunakan PHP
Validasi atau filter Server Side adalah langkah kedua setelah validasi JavaScript/AJAX Anda didisable oleh user.
Di sekitar baris kode ke-37, Anda akan menemukan kode ini:
$editFormAction = $_SERVER[‘PHP_SELF’];
if (isset($_SERVER[‘QUERY_STRING’])) {
$editFormAction .= “?” . htmlentities($_SERVER[‘QUERY_STRING’]);
}
Tekan Enter setelah kode tersebut, lalu tambahkan kode ini:
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); }
//Chek jika terjadi error $error = array(); $MM_flag="MM_insert"; // Validasi input if (isset($_POST[$MM_flag])) { //Check panjang nama, jika kosong atau kurang dari 5 ERROR if((strlen($_POST['nama']) < 5)) { $error['nama'] = "Nama harus diisi dengan minimal 5 karakter"; } // Check alamat email $checkEmail = '/^[^@]+@[^\s\r\n\'";,@%]+$/'; if (!preg_match($checkEmail, trim($_POST['email']))) { $error['email'] = "Alamat email salah"; } //Check panjang username $_POST['username'] = trim($_POST['username']); if(strlen($_POST['username']) < 6 || strlen($_POST['username']) > 16) { $error['username'] = "Username minimal 6 karakter dan maksimal 16 karakter"; } // Check password $_POST['password'] = trim($_POST['password']); if(strlen($_POST['password']) < 6 || strlen($_POST['password']) > 32){ $error['password'] = "Password 6 karakter dan maksimal 32 karakter"; } } // Jika tidak terjadi error if(!$error) { if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
Lalu pada baris ke-82 yang semula seperti ini:
} header(sprintf("Location: %s", $insertGoTo)); }
Lalu ubah menjadi:
header(sprintf("Location: %s", $insertGoTo)); } $_POST = array(); }
Simpan kembali hasil pekerjaan Anda
Menampilkan pesan error
Langkah selanjutnya adalah menampilkan pesan error jika type data yang dikirimkan oleh pengunjung ternyata tidak memenuhi kriteria yang Anda tetapkan.
Cari kode di bawah ini:
<h2>Registration form</h2> <form name="form1" method="POST" action="<?php echo $editFormAction; ?>">
Lalu ubah menjadi:
<h2>Registration form</h2> <?php if($error) { ?> <p class="warning"> <strong>Ada kesalahan dalam proses pengisian data:</strong><br/> <?php foreach($error as $peringatan) { ?> - <?php echo $peringatan; ?><br/> <?php } ?> </p> <?php } ?>
<form name="form1" method="POST" action="<?php echo $editFormAction; ?>">
Untuk melakukan pengetesan pada level Server Side ini, pastikan Anda mendisable fungsi JavaScript, lalu klik tombol Submit.
Anda telah menyelesaikan paket dasar tutorial validasi data. Selamat mencoba.
Hasil akhir Script adalah sebagai berikut:
<?php require_once('Connections/koneksi.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; }
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } }
$editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); }
//Chek jika terjadi error $error = array(); $MM_flag="MM_insert"; // Validasi input if (isset($_POST[$MM_flag])) { //Check panjang nama if((strlen($_POST['nama']) < 5)) { $error['nama'] = "Nama minimal 5 karakter"; } // Check alamat email $checkEmail = '/^[^@]+@[^\s\r\n\'";,@%]+$/'; if (!preg_match($checkEmail, trim($_POST['email']))) { $error['email'] = "Alamat email salah"; } //Check panjang username $_POST['username'] = trim($_POST['username']); if(strlen($_POST['username']) < 6 || strlen($_POST['username']) > 16) { $error['username'] = "Username minimal 6 karakter dan maksimal 16 karakter"; } // Check password $_POST['password'] = trim($_POST['password']); if(strlen($_POST['password']) < 6 || strlen($_POST['password']) > 32){ $error['password'] = "Password 6 karakter dan maksimal 32 karakter"; } } // Jika tidak terjadi error if(!$error) { if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO users (nama, email, username, password) VALUES (%s, %s, %s, %s)", GetSQLValueString($_POST['nama'], "text"), GetSQLValueString($_POST['email'], "text"), GetSQLValueString($_POST['username'], "text"), GetSQLValueString($_POST['password'], "text"));
mysql_select_db($database_koneksi, $koneksi); $Result1 = mysql_query($insertSQL, $koneksi) or die(mysql_error());
$insertGoTo = "validasi_data.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } $_POST = array(); } ?> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> <link href="css/style.css" rel="stylesheet" type="text/css"> <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script> <script src="SpryAssets/SpryValidationPassword.js" type="text/javascript"></script> <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css"> <link href="SpryAssets/SpryValidationPassword.css" rel="stylesheet" type="text/css"> </head>
<body> <div id="wrapper"> <h1><a href="http://www.javawebmedia.com">Home</a> | <a href="http://www.javawebmedia.com">About Java Web Media</a> | <a href="http://www.javawebmedia.com">Course</a> | <a href="http://www.javawebmedia.com">Contact Us</a></h1> <h2>Registration form</h2> <?php if($error) { ?> <p class="warning"> <strong>Ada kesalahan dalam proses pengisian data:</strong><br/> <?php foreach($error as $peringatan) { ?> - <?php echo $peringatan; ?><br/> <?php } ?> </p> <?php } ?>
<form name="form1" method="POST" action="<?php echo $editFormAction; ?>"> <span id="sprytextfield1"> <label for="nama">Nama Anda:</label> <input type="text" name="nama" id="nama"> <span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldMinCharsMsg">Minimum number of characters not met.</span></span> <p><span id="sprytextfield2"> <label for="email">Alamat email Anda:</label> <input type="text" name="email" id="email"> <span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldInvalidFormatMsg">Invalid format.</span></span></p> <p><span id="sprytextfield3"> <label for="username">Username Anda:</label> <input type="text" name="username" id="username"> <span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldMinCharsMsg">Minimum number of characters not met.</span><span class="textfieldMaxCharsMsg">Exceeded maximum number of characters.</span></span></p> <p><span id="sprypassword1"> <label for="password">Password Anda:</label> <input type="password" name="password" id="password"> <span class="passwordRequiredMsg">A value is required.</span><span class="passwordMinCharsMsg">Minimum number of characters not met.</span><span class="passwordMaxCharsMsg">Exceeded maximum number of characters.</span></span></p> <p> <input type="submit" name="submit" id="submit" value="Submit"> <input type="reset" name="submit2" id="submit2" value="Reset"> </p> <input type="hidden" name="MM_insert" value="form1"> </form> <p> </p> </div> <script type="text/javascript"> var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "none", {minChars:5, validateOn:["blur", "change"]}); var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2", "email", {validateOn:["blur", "change"], hint:"contact@javawebmedia.com"}); var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3", "none", {minChars:6, maxChars:16, validateOn:["blur", "change"]}); var sprypassword1 = new Spry.Widget.ValidationPassword("sprypassword1", {minChars:6, maxChars:32, validateOn:["blur", "change"]}); </script> </body> </html>
Maksih banget mas,
mohon izin copas tuk penyebaran ilmu :)
Silakan saja, tapi mohon sebutkan sumber aslinya…
Aku pakai DW 8 bang.memang jadul aku.eheheh
jadi di DW 8 gak ada y faslitas spray??atau fasilitas yang hampr sama dengan spray.??
Hehe… Silakan upgrade ke minimal CS3. Code yang digenerate Dreamweaver 8 cukup rawan terhadap SQL Injections. Anda harus rajin mempatch kode tersebut dengan manual koding…
minta alamat link software nya mas…^^
terima kasih ini sangat membantu . .
Sama-sama… Semoga menjadi manfaat
mas, bisakah ini saya pakai selain memakai DW?
Hehe… Mohon maaf, untuk fitur Spry sepertinya hanya ada di Dreamweaver. Kecuali Anda copas aja kodenya. Silakan saja…
mas , cara menambahkan capta security nya gmana ya..? agar aman dan tak ada robot
Silakan di Google dulu. Saya belum sempat bikin tutorialnya…
mas , klo setelah reg sebagai user , terus ada module untuk bisa berteman sama user lain , itu gmn ya ? bikin tutor nya dong hehe
makasih
Buat tabel baru yang menyimpan id dari masing-masing user yang di add dan meng-add.
mas klo usernamenya ga bisa duplicate gmn? trus pilih spryvalidationnya ap? buat validasi javascriptny…?makasih sblmny
Gunakan server behaviors. Setelah Anda melakukan Insert Record, lalu klik Insert > Data Objects > User Authentications > Check New Username.
Kalo ada 2 primary key gimana gan?
iya gimana tuh kalau yang mau di validasi ada dua?
ma tutorial yg sangat bagus..bisa nanya mas, kalo misal kita buat alert ulang tahun dan ketika hari ini ada yg berulang tahun akan ada email automatis ke email member…gimana mas tutorialnya…please…mohon..mohon dgn sangat…tolong dibantu diemail tutor nya mas….
makasi B4
Haha… Bisa sih mas… Tapi hosting mas support mass mail ga? Soalnya klo hostingnya masih ada batasan bandwidth (kecuali unlimited) dibatasi 100 email perjam, lebih dari itu server/website bisa down.
gan kalo pake dream weaver cs 5 bsa ga ??? jawab ya gan
Bisa banget… Silakan dicoba
Gan, aku ake Check New Username tapi pas mw kembali ke halaman sebelumnya error.
Warning: Cannot modify header information – headers already sent by (output started at D:\AppServ\www\SIAkadOnline\admin\index.php:81) in D:\AppServ\www\SIAkadOnline\admin\mahasiswa.php on line 50. Apa nya gan?
Ta lihat di mahasiswa.php baris ke 50
// *** Redirect if username exists
$MM_flag=”MM_insert”;
if (isset($_POST[$MM_flag])) {
$MM_dupKeyRedirect=”./admin/index.php?page=val_data”;
$loginUsername = $_POST[‘nim’];
$LoginRS__query = sprintf(“SELECT nim FROM mahasiswa WHERE nim=%s”, GetSQLValueString($loginUsername, “int”));
mysql_select_db($database_connect, $connect);
$LoginRS=mysql_query($LoginRS__query, $connect) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
//if there is a row in the database, the username was found – can not add the requested username
if($loginFoundUser){
$MM_qsChar = “?”;
//append the username to the redirect page
if (substr_count($MM_dupKeyRedirect,”?”) >=1) $MM_qsChar = “&”;
$MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar .”requsername=”.$loginUsername;
header (“Location: $MM_dupKeyRedirect”);
exit;
}
}
Itu biasa terjadi. Silakan tambahkan
ob_start();
di awal kode
Sip…gan berhasil. Trima kasih. Ada lgi gan..hehe. Aku buat enkripsi pasword md5 di CS5 ko ga bisa… salahnya di Missing argument 2 for GetSQLValueString(),
Penambahannya di sebelum $_POST[‘password’] lalu ubah menjadi MD5($_POST[‘password’])
thank…sangat berguna buat skripsi saya….
Sama-sama… Senang Anda bisa belajar dan membuat skripsi sendiri…
mantap,,, bgt, posting ini membangkitkan semangat saya
Alhamdulillah… senang ada manfaatnya…
Mw tanya mas ko klo saya isi pke script javascript ko error y knp tuh?
gan, mau tanya nih.
klo bikin sugestion usernamenya berdasarkan nama yang sudah di input gimana tuh gan??jadi mirip kayak registrasi di email gitu….. thx b4
mas gimana klo mau download nya…
soal nya bwt tgs ni..:)
mantap gan tutorialnya, sukses terus javawebmedia.com
makasih banyak infonya, komplit banget , saya udah terapkan untuk Bisnis Online
yang saya buat, ctr+d deh buat web javawebmedia.com
gan kalau mau buat form update data secara simultan ( sesuai baris) bagaimana caranya kalau menggunakan dreamweaver sehingga kalau input data yang banyak bisa sekali saja : kalau input nilai persiswa kalau satu-satu kan lama.. jadi bagaimana gan
Haha…gunakan Looping FOR dan input menggunakan array. Nanti dibuat deh tutorialnya….
ditunggu gan, pokoknya setiap hari deh aku browsing ke sini
kapan keluar ebooknya yang lengkap kap kap gan……??????
Mas kok pada script
var sprytextfield1 = new Spry.Widget.ValidationTextField(“sprytextfield1”, “none”, {validateOn:[“blur”, “change”], minChars:5});
var sprytextarea1 = new Spry.Widget.ValidationTextarea(“sprytextarea1”, {validateOn:[“blur”, “change”], minChars:5});
var sprytextfield2 = new Spry.Widget.ValidationTextField(“sprytextfield2”, “phone_number”, {validateOn:[“blur”, “change”], format:”phone_custom”});
var sprytextfield3 = new Spry.Widget.ValidationTextField(“sprytextfield3”, “email”);
var sprytextfield4 = new Spry.Widget.ValidationTextField(“sprytextfield4”, “none”, {validateOn:[“blur”, “change”], minChars:5});
var sprypassword1 = new Spry.Widget.ValidationPassword(“sprypassword1”, {validateOn:[“blur”, “change”], minChars:5, maxChars:15, minSpecialChars:2, maxSpecialChars:2});
pada dreamweavernya mengalami syntax error ya?
apa ada yg salah?
Ada script java script yang tidak tertutup dengan benar mas. Bisa jadi PHP nya juga error
Ada script java script yang tidak tertutup dengan benar mas. Bisa jadi PHP nya juga error. Coba dicek line berapa errornya
saya bingung membuat admin webnya gan..tlg di bantu yach..!!!!
Silakan baca tutorial membuat CMS Part 1 – 12 yah
mas, mohon bantuannya… untuk form yng ditinggal pergi gitu setelah ada satu atau lebih kolom terisi tp belum sempat untuk di submit tombolnya. nah giamana tuh biar muncul warning… (“Data belum disimpan BOSS.!!”). mohon bantuan mas. trims after that.
mas, utk membatasi halaman hak akases gmn…???
mas g ad file downloadny??
thx
Ga ada mas… Mauu? Hehehe
Gimana biar ktika eksekusi query sukses maka muncul pesan “data berhasil di input”
Maaf gan.. saya bingung cara mempraktekkannya… apalagi waktu dipasang pada blog yang saya punya.. tidak berhasil..
Bang kan ane pke primary key d email..
trus kan kalau mau input email yg sama tidak bisa..
nah trus biar ada notif apa yg kita inginkan gmna :'(