Sebelum membuat halaman lupa password menggunakan CodeCharge Studio, kita perlu menyiapkan tabel database untuk mencatat siapa dan kapan permintaan lupa password ini digunakan. Buatlah tabel baru di mysql, kira-kira seperti berikut (silahkan berkreasi sesuai keperluannya):
CREATE TABLE IF NOT EXISTS `lupapass` (
`idlupa` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(256) NOT NULL,
`date` datetime DEFAULT NULL,
PRIMARY KEY (`idlupa`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Membuat Form Lupa Password Menggunakan CodeCharge Studio
- Saya membuat satu halaman baru, bernama "getpassword".
- Menggunakan Toolbox - Record Builder untuk membuat form dari tabel lupapass. Ambil field email dan date untuk fields record, (field Date di hidden).
- Action di form ini hanya Insert dan Cancel
- Atur Input Validation untuk email : Email (^[\w\.-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]+$)
- Atur format date: dd/mm/yyyy
- Date default : CurrentDateTime
- Date dbformat : yyyy-mm-dd HH:nn:ss
- Ganti tulisan "Add" pada buton menjadi "Kirimkan password Saya". Caranya, klik kanan pada button, pilih <Input> Properties
- Setelah jadi, seperti gambar berikut:
- Sekarang masuk ke Events Record : lupapass. Tambahkan "Custom Code" pada "After Execute Insert"
- Copykan kode berikut (silahkan berkreasi)
// -------------------------Form Lupa Password selesai. Jangan lupa untuk membuat link Ke halaman ini. Buatlah link nya dekat dengan form Login. Kira-kira seperti ini:
$db = new clsDBConnection1();
$db->query("SELECT * FROM profil WHERE email=\"" . $lupapass->email->Value . "\"");
$db->next_record();
if ( $db->f("idteman") == "") {
$lupapass->Errors->AddError("Maaf, E-mail anda tidak ada dalam catatan kami.");
}
$to = $db->f("email");
$from = "email@yourdomain.com";
$additional_headers = "From: $from\nReply-To: $from";
$subject = "Re: Lupa Password yourdomain.com";
$message = "Atas permintaan Anda, berikut kami kirim informasi login di kisahteman.id1945.com.\n".
"\n".
"Username: " .$db->f("email") . "\n" .
"Password: " .$db->f("password") . "\n" .
"\n".
"\n".
"email@yourdomain.com\n".
"";
"\n".
mail ($to, $subject, $message, $additional_headers);
// -------------------------
No comments:
Post a Comment