Widodo

Cara membuat fasilitas forgot password

Pada kesempatan ini kami akan membuat sebuah tutorial yaitu fasilitas resset/forgot pasword pada sebuah website dan tutorial ini juga reques dari beberapa teman facebook kepada s-widodo.com dan ini adalah melanjutkan tutorial-tutorial sebelumnya yaitu membuat fom login dan sekarang kita harus membuat faslitas resset password pada sebuah web, Sehingga kalau kita ingin mengetahui password member tentunya harus mendekripsikan kembali data yang ada pada database. Untuk menjaga privasi member, sebaiknya password yang kita kirim ulang adalah password baru dengan menggenerate huruf dan angka untuk membentuk kombinasi password baru tersebut. untuk itu kita pelajari bersama. 

1. Silahkan buat tabel baru dengan nama member

Column Type
id_member int (12)
nama varchar(30)
email varchar(40)
user varchar(30)
password varchar(50)
datetime varchar(40)

2. Sekarang buatlah layout form resset passwordnya dengan css seperti dibawah ini

body {background:#C1392B; padding:0px; margin:0px}
h3 {color:#ffffff; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:20px; margin:20px;}
.wrapper-f{width:300px; margin:auto; padding:40px 20px 20px 20px; background:#E84C3D; margin-top:5%; min-height:120px;}
.wrapper-f label {color:#ffffff;}
.wrapper-f input {padding:5px; background:#eeeeee; border:0px; color:#333; width:98%; margin-bottom:10px;}
.wrapper-f input:focus{ background:#ccc;}
.wrapper-f .button {padding:10px 20px 10px 20px; color:#ffffff; background:#C1392B; margin-top:10px; cursor:pointer}
.wrapper-f .button:hover {background:#333;}
.warning {background:#FF9900; color:#ffffff; padding:10px; border-radius:5px; border:1px; text-align:center;margin:auto;
width:400px; margin-top:20px;}

3. Sekarang kita tinggan panggil dengan kode html

<h3>FORGOT PASSWORD</h3>
<div class="wrapper-f">
<form action="" method="post">
<label>Masukkan Email anda</label>
<input name="email" type="email" placeholder="Masukkan Email" required oninvalid="this.setCustomValidity('Masukkan Email Dengan benar oke gan')">
<input class="button" name="act_resset" type="submit" value="Submit"></form></div>

4. Alhamdulillah layout sudah jadi sekarang kita tinggal membuat scipt proses mengiriman email dan table ke database dengan cara sebagai berikut

<?PHP 
$server = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'tutorial';
$x = mysql_connect($server,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($dbname,$x);
///////////////////////////////////////////////////////////////////////
if (isset($_POST['act_resset'])) {
date_default_timezone_set("Asia/Jakarta");
$pass="1A2B4HTjsk5kwhadbwlff"; $panjang='8'; $len=strlen($pass); 
$start=$len-$panjang; $xx=rand('0',$start); 
$yy=str_shuffle($pass); 
$passwordbaru=substr($yy, $xx, $panjang);

$email = trim(strip_tags($_POST['email']));
$password = mysql_real_escape_string(htmlentities((md5($passwordbaru))));
$datetime=date("h:i:s-j-M-Y");

// mencari alamat email si user
$query = "SELECT * FROM member WHERE email ='$email'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$cek = mysql_num_rows($hasil);
$id_member = strip_tags($data['id_member']);
$alamatEmail = strip_tags($data['email']);
$nama = strip_tags($data['nama']);
$username =trim(strip_tags($data['user']));
if ($cek == 1) {

// title atau subject email
$title = "Permintaan Password Baru";
// isi pesan email disertai password
$pesan = "Kami telah meresset Ulang Kata sandi ".$nama." Dan anda dapat login kembali ke web kami \n\n 
DETAIL AKUN ANDA :\n Nama Penguna : ".$username." \n 
Kata sandi Anda yang baru adalah: ".$passwordbaru."\n\n 
\n\n PESAN NO-REPLY";
// header email berisi alamat pengirim
$header = "From: nama-website<no-reply@domain.com>";
// mengirim email
$kirimEmail = mail($alamatEmail, $title, $pesan, $header);
// cek status pengiriman email
if ($kirimEmail) { 

// update password baru ke database (jika pengiriman email sukses)
$query = "UPDATE member SET password='$password', datetime='$datetime' WHERE id_member = '$id_member'";
$hasil = mysql_query($query);

if ($hasil) 
echo'<div class="warning">Kata sandi baru telah direset dan sudah dikirim ke email "'.$alamatEmail.'" Silahkan cek emailnya</div><br><br><hr><h3>CONTOH PESAN DALAM EMAIL<hr><br>
'.$pesan.'<hr>';
}
else {
echo'<div class="warning">Pengiriman Kata sandi baru ke email gagal</div>';
}
}
else{

echo'<div class="warning">Alamat Email tidak ditemukan</div>';
}}?>
Simpan Script prosesnya dibawah layout atau form resset password

Demo Download

 
Untuk demo meresset pasword yang sudah terdaftar sebagai member silahkan gunakan email swidodocom@yahoo.com


0 Komentar