r3d c0de 4rt Undefined

H4cking M0d3 0n Fire w3ll 4tt3ckt3d
 
IndeksCalendarGalleryFAQPencarianAnggotaGroupPendaftaranLogin
Pencarian
 
 

Display results as :
 
Rechercher Advanced Search
Like/Tweet/+1
Keywords
Latest topics
» Литинпром - винтовые сваи, чугунное литье
Wed Jul 23, 2014 2:11 pm by Tamu

» ...........
Mon Aug 13, 2012 11:32 am by noii.name

» askum,,member anyar aku cak :D
Tue Jun 19, 2012 2:50 pm by - pangeran kucing -

» Kalimantan Selatan
Thu Jun 14, 2012 9:59 pm by S3r4f_r3d_C0d3_4rt

» Temlate bagus !!!!!!!!
Sun Mar 11, 2012 11:54 pm by S3r4f_r3d_C0d3_4rt

» Daftar Link Teman
Thu Mar 08, 2012 5:37 am by S3r4f_r3d_C0d3_4rt

» Perkenalan
Mon Feb 27, 2012 4:40 pm by S3r4f_r3d_C0d3_4rt

» Salam kenal semua
Mon Feb 27, 2012 1:17 pm by DiazMarveL

» wah,,mo ngritik ni gue
Sat Feb 25, 2012 8:14 pm by [RC]~Root4rt™

RC di Social Network
Blog Teman teman
L.Forum R3d Cod3
Page Fans Like

Share | 
 

 Membuat Fasilitas Lost Password dengan PHP

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
S3r4f_r3d_C0d3_4rt
Admin
Admin
avatar

Jumlah posting : 174
Join date : 24.10.11
Age : 26
Lokasi : C:\Program error\User\Undefined

PostSubyek: Membuat Fasilitas Lost Password dengan PHP   Sat Feb 18, 2012 11:12 am

1.CREATE TABLE user (
2. username varchar(30),
3. password varchar(32),
4. email varchar(100),
5. PRIMARY KEY (username)
6.)

Selanjutnya, kita buat form untuk registrasi user baru.

register.htm
view sourceprint?
01.

02.
03.
04.
05.
10.
15.
20.
25.
Masukkan Usernametd>
06.

07.td>
08.tr>
09.
Masukkan E-mailtd>
11.

12.td>
13.tr>
14.
Masukkan Passwordtd>
16.

17.td>
18.tr>
19.
Ulangi Passwordtd>
21.

22.td>
23.tr>
24.
td>
26.

27.td>
28.tr>
29.tbody>table>
30.form>

Untuk mengolah form register user di atas, kita buat pula scriptnya.

submit.php
view sourceprint?
01.
02.$username = $_POST['username'];
03.$password1 = $_POST['pass1'];
04.$password2 = $_POST['pass2'];
05.$email = $_POST['email'];
06.
07.// cek kesamaan password
08.if ($password1 == $password2)
09.{
10. mysql_connect("namahost", "dbuser", "dbpass");
11. mysql_select_db("dbname");
12.
13. // perlu dibuat sebarang pengacak
14. $pengacak = "NDJS3289JSKS190JISJI";
15.
16. // mengenkripsi password dengan md5() dan pengacak
17. $password1 = md5($pengacak . md5($password1) . $pengacak);
18.
19. // menyimpan username dan password terenkripsi ke database
20. $query = "INSERT INTO user VALUES('$username', '$password1', '$email')";
21. $hasil = mysql_query($query);
22.
23. // menampilkan status pendaftaran
24. if ($hasil) echo "User sudah berhasil terdaftar";
25. else echo "Username sudah ada yang memiliki";
26.
27.}
28.else echo "Password yang dimasukkan tidak sama";
29.
30.?>

Apabila Anda perhatikan, maka pada prinsipnya script pengolah form registrasi ini sama dengan script pada pembahasan tentang autentifikasi user yang telah saya tulis sebelumnya. Bedanya hanyalah pada ada tidaknya email. Namun secara umum proses autentifikasi boleh juga kok ada emailnya, malah lebih baik jika ada. Oya… jangan lupa untuk mengenkripsi password dengan md5() dan pengacak.

Selanjutnya kita bikin form login user.

login.htm
view sourceprint?
01.
02.
03.
04.
05.
10.
15.
20.
Masukkan Usernametd>
06.

07.td>
08.tr>
09.
Masukkan Passwordtd>
11.

12.td>
13.tr>
14.
td>
16.

17.td>
18.tr>
19.
Lost Passworda>td>
21.
td>
22.tr>
23.tbody>table>
24.form>

Nah… perhatikan pada form di atas. Pada bagian bawah form, kita tempatkan link untuk lost passwordnya. Sebagai catatan, untuk script pengolah login (bagian action), sengaja tidak saya tulis karena pada prinsipnya sama dengan proses autentifikasi yang telah saya tulis sebelumnya. Dalam hal ini kita hanya fokus ke lost passwordnya saja. OK?

Sekarang, kita buat form untuk lost password. Dalam form ini, user diminta memasukkan usernamenya.

lostpassword.htm
view sourceprint?
01.
02.
03.
04.
05.
10.
Masukkan Username Andatd>
06.

07.td>
08.tr>
09.
td>
11.

12.td>
13.tr>
14.tbody>table>
15.form>

Mengingat untuk lost password ini dibutuhkan username, maka harus ada jaminan bahwa username ini unik (tidak boleh ada username yang sama). Oleh karena itu untuk mengantisipasi adanya beberapa username yang sama, kita buat field ‘username’ ini menjadi primary key di tabelnya. Nah… hal ini sudah kita buat ketika membuat tabelnya bukan? So… don’t worry.

Form untuk lost password sudah dibuat, berikutnya kita buat script pengolah lost passwordnya.

kirimpassword.php
view sourceprint?
01.
02.
03.mysql_connect("namahost", "dbuser", "dbpass");
04.mysql_select_db("dbname");
05.
06.$username = $_POST['username'];
07.
08.function randomPassword()
09.{
10.// function untuk membuat password random 6 digit karakter
11.
12.$digit = 6;
13.$karakter = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
14.
15.srand((double)microtime()*1000000);
16.$i = 0;
17.$pass = "";
18.while ($i <= $digit-1)
19.{
20.$num = rand() % 32;
21.$tmp = substr($karakter,$num,1);
22.$pass = $pass.$tmp;
23.$i++;
24.}
25.return $pass;
26.}
27.
28.// membuat password baru secara random -> memanggil function randomPassword
29.$newPassword = randomPassword();
30.
31.// perlu dibuat sebarang pengacak
32.$pengacak = "NDJS3289JSKS190JISJI";
33.
34.// mengenkripsi password dengan md5() dan pengacak
35.$newPasswordEnkrip = md5($pengacak . md5($newPassword) . $pengacak);
36.
37.// mencari alamat email si user
38.$query = "SELECT * FROM user WHERE username = '$username'";
39.$hasil = mysql_query($query);
40.$data = mysql_fetch_array($hasil);
41.$alamatEmail = $data['email'];
42.
43.// title atau subject email
44.$title = "New Password";
45.
46.// isi pesan email disertai password
47.$pesan = "Username Anda : ".$username.". \nPassword Anda yang baru adalah ".$newPassword;
48.
49.// header email berisi alamat pengirim
50.$header = "From: [You must be registered and logged in to see this link.]";
51.
52.// mengirim email
53.$kirimEmail = mail($alamatEmail, $title, $pesan, $header);
54.
55.// cek status pengiriman email
56.if ($kirimEmail) {
57.
58. // update password baru ke database (jika pengiriman email sukses)
59. $query = "UPDATE user SET password = '$newPasswordEnkrip' WHERE username = '$username'";
60. $hasil = mysql_query($query);
61.
62. if ($hasil) echo "Password baru telah direset dan sudah dikirim ke email Anda";
63. }
64.else echo "Pengiriman password baru ke email gagal";
65.
66.?>

Perhatikan pada function pengacak password pada script di atas. Dalam daftar karakter ($karakter = “ABCDEFGHJKLMNPQRSTUVWXYZ23456789″) yang digunakan untuk membuat random password tidak ada huruf I, O serta angka 1 dan 0. Ini sengaja saya buat karena menghindari keambiguan dalam membaca. Kadang orang salah membaca angka 1 dan huruf I, begitu pula angka 0 dan huruf O.

Nah… password baru yang dikirm ke email user adalah password random yang dihasilkan function randomPassword().

Oya, perhatikan pula pada proses update password baru ke database. Apabila kita perhatikan, maka proses update ini dilakukan setelah pengiriman email sukses. Mengapa demikian? Ya… bagaimana seandainya pengiriman email gagal, tapi password yang baru sudah terupdate di database? Tentu si user bingung :-)

Satu lagi yang penting, gunakan pengacak enkripsi yang sama ketika pada proses registrasi user dan juga pada waktu proses login. Jika tidak sama.. hmmm… repot, karena user nantinya gak bisa login.


Download Scriptnya di sini


Gak koment cuma liat gak pa2... Asal memberi Cendol dengan klik +++++ pada Tread Sebelah kanan postingan,, tlong hargai TS orang,, hohohoh

_________________
.::. S3r4f_Cyb3r_4rt .::.
-== Seraf Elia Lugastio ==-

-=[[ Salam R4d C0d3 ]]=-

[You must be registered and logged in to see this link.]
Kembali Ke Atas Go down
Lihat profil user http://r3dcod3.forumid.net
 
Membuat Fasilitas Lost Password dengan PHP
Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» Fitur baru Readmore pada blogspot!
» Cara MenDesign Gear Dengan PhotoShop
» MEMBUAT GAME ASAH OTAK MEMAKAI POWER POINT
» bercanda dengan LOGIKA
» [Blender] How to Cellshading

Permissions in this forum:Anda tidak dapat menjawab topik
r3d c0de 4rt Undefined :: Information Technology :: Algoritma & Pemograman :: PHP-
Navigasi: