Sebagian besar situs web interaktif saat ini mengharuskan pengguna untuk masuk ke sistem situs web untuk memberikan pengalaman yang disesuaikan bagi pengguna. Setelah pengguna masuk, situs web akan dapat memberikan presentasi yang disesuaikan dengan preferensi pengguna.
Sistem login dasar biasanya berisi 3 komponen:
1. Komponen yang memungkinkan pengguna untuk mendaftarkan id login dan kata sandi pilihannya
2. Komponen yang memungkinkan sistem untuk memverifikasi dan mengotentikasi pengguna ketika dia log in kemudian
3. Komponen yang mengirimkan kata sandi pengguna ke alamat email terdaftarnya jika pengguna lupa kata sandinya
Sistem seperti itu dapat dengan mudah dibuat menggunakan PHP dan MySQL.
================================================== ==============
Komponen 1 – Pendaftaran
Komponen 1 biasanya diimplementasikan menggunakan formulir HTML sederhana yang berisi 3 bidang dan 2 tombol:
1. Bidang ID login yang disukai
2. Bidang kata sandi pilihan
3. Bidang alamat email yang valid
4. A tombol Kirim
5. Tombol Reset
Asumsikan bahwa formulir seperti itu dikodekan ke dalam file bernama register.html. Kutipan kode HTML berikut adalah contoh umum. Ketika pengguna telah mengisi semua bidang, halaman register.php dipanggil ketika pengguna mengklik tombol Submit.
[form name=”register” method=”post” action=”register.php”]
[input name=”login id” type=”text” value=”loginid” size=”20″/][br]
[input name=”password” type=”text” value=”password” size=”20″/][br]
[input name=”email” type=”text” value=”email” size=”50″/][br]
[input type=”submit” name=”submit” value=”submit”/]
[input type=”reset” name=”reset” value=”reset”/]
[/form]
Kutipan kode berikut dapat digunakan sebagai bagian dari register.php untuk memproses pendaftaran. Ini menghubungkan ke database MySQL dan menyisipkan baris data ke dalam tabel yang digunakan untuk menyimpan informasi pendaftaran.
@mysql_connect (“localhost”, “mysql_login”, “mysql_pwd”) atau mati (“Tidak dapat terhubung ke DB!”);
@mysql_select_db (“tbl_login”) atau mati (“Tidak dapat memilih DB!”);
$ sql = “MASUKKAN KE login_tbl (loginid, kata sandi dan email) VALUES (“. $ loginid. “,”. $ password. “,”. $ email. “)”;
$ r = mysql_query ($ sql);
if (! $ r) {
$ err = mysql_error ();
cetak $ err;
keluar();
}
Kutipan kode mengasumsikan bahwa tabel MySQL yang digunakan untuk menyimpan data pendaftaran bernama tbl_login dan berisi 3 bidang – bidang loginid, kata sandi dan email. Nilai variabel $ loginid, $ password dan $ email dikirimkan dari formulir di register.html menggunakan metode posting.
================================================== ==============
Komponen 2 – Verifikasi dan Otentikasi
Pengguna terdaftar akan ingin masuk ke sistem untuk mengakses fungsionalitas yang disediakan oleh situs web. Pengguna harus memberikan ID login dan kata sandinya agar sistem dapat memverifikasi dan mengautentikasi.
Ini biasanya dilakukan melalui formulir HTML sederhana. Formulir HTML ini biasanya berisi 2 bidang dan 2 tombol:
1. Bidang ID login
2. Bidang kata sandi
3. A tombol Kirim
4. Tombol Reset
Asumsikan bahwa formulir seperti itu dikodekan ke dalam file bernama otentikasi.html. Kutipan kode HTML berikut adalah contoh tipikal. Ketika pengguna telah mengisi semua bidang, halaman otentikasi.php dipanggil ketika pengguna mengklik tombol Kirim.
[form name=”authenticate” method=”post” action=”authenticate.php”]
[input name=”login id” type=”text” value=”loginid” size=”20″/][br]
[input name=”password” type=”text” value=”password” size=”20″/][br]
[input type=”submit” name=”submit” value=”submit”/]
[input type=”reset” name=”reset” value=”reset”/]
[/form]
Kutipan kode berikut dapat digunakan sebagai bagian dari otentikasi.php untuk memproses permintaan login. Ini terhubung ke database MySQL dan menanyakan tabel yang digunakan untuk menyimpan informasi pendaftaran.
@mysql_connect (“localhost”, “mysql_login”, “mysql_pwd”) atau mati (“Tidak dapat terhubung ke DB!”);
@mysql_select_db (“tbl_login”) atau mati (“Tidak dapat memilih DB!”);
$ sql = “PILIH loginid DARI login_tbl WHERE loginid = ‘”. $ loginid. “‘ dan password = ‘”. $ password. “‘”;
$ r = mysql_query ($ sql);
if (! $ r) {
$ err = mysql_error ();
cetak $ err;
keluar();
}
if (mysql_affected_rows () == 0) {
cetak “tidak ada login seperti itu dalam sistem. Harap coba lagi.”;
keluar();
}
lain{
print “berhasil masuk ke sistem.”;
// lanjutkan untuk menjalankan fungsi situs web – mis. menyajikan informasi kepada pengguna
}
Seperti pada komponen 1, kutipan kode mengasumsikan bahwa tabel MySQL yang digunakan untuk menyimpan data pendaftaran bernama tbl_login dan berisi 3 bidang – bidang loginid, kata sandi dan email. Nilai variabel $ loginid dan $ password diteruskan dari formulir di otentikasi.html menggunakan metode posting.
================================================== ==============
Komponen 3 – Lupa Kata Sandi
Pengguna terdaftar mungkin lupa kata sandi untuk masuk ke sistem situs web. Dalam hal ini, pengguna harus memberikan loginidnya agar sistem dapat mengambil kata sandinya dan mengirim kata sandi ke alamat email terdaftar milik pengguna.
Ini biasanya dilakukan melalui formulir HTML sederhana. Formulir HTML ini biasanya berisi 1 bidang dan 2 tombol:
1. Bidang ID login
2. A tombol Kirim
3. Tombol Reset
Asumsikan bahwa formulir seperti itu dikodekan ke dalam sebuah file bernama lupa.html. Kutipan kode HTML berikut adalah contoh umum. Ketika pengguna telah mengisi semua bidang, halaman lupa.php dipanggil ketika pengguna mengklik tombol Kirim.
[form name=”forgot” method=”post” action=”forgot.php”]
[input name=”login id” type=”text” value=”loginid” size=”20″/][br]
[input type=”submit” name=”submit” value=”submit”/]
[input type=”reset” name=”reset” value=”reset”/]
[/form]
Kutipan kode berikut dapat digunakan sebagai bagian dari forget.php untuk memproses permintaan login. Ini terhubung ke database MySQL dan menanyakan tabel yang digunakan untuk menyimpan informasi pendaftaran.
@mysql_connect (“localhost”, “mysql_login”, “mysql_pwd”) atau mati (“Tidak dapat terhubung ke DB!”);
@mysql_select_db (“tbl_login”) atau mati (“Tidak dapat memilih DB!”);
$ sql = “PILIH kata sandi, email DARI login_tbl WHERE loginid = ‘”. $ loginid. “‘”;
$ r = mysql_query ($ sql);
if (! $ r) {
$ err = mysql_error ();
cetak $ err;
keluar();
}
if (mysql_affected_rows () == 0) {
cetak “tidak ada login seperti itu dalam sistem. Harap coba lagi.”;
keluar();
}
lain {
$ baris = mysql_fetch_array ($ r);
$ password = $ baris[“password”];
$ email = $ baris[“email”];
$ subject = “kata sandi Anda”;
$ header = “from: you@yourdomain.com”;
$ content = “kata sandi Anda adalah”. $ kata sandi;
mail ($ email, $ subject, $ row, $ header);
print “Sebuah email berisi password telah dikirimkan kepada Anda”;
}
Seperti pada komponen 1, kutipan kode mengasumsikan bahwa tabel MySQL yang digunakan untuk menyimpan data registrasi bernama tbl_login dan berisi 3 field – field loginid, password dan email. Nilai variabel $ loginid diteruskan dari formulir di lupa.html menggunakan metode posting.
================================================== ==============
Kesimpulan
Contoh di atas adalah untuk mengilustrasikan bagaimana sistem login yang sangat dasar dapat diimplementasikan. Contoh dapat ditingkatkan untuk memasukkan enkripsi kata sandi dan fungsi tambahan – mis. untuk memungkinkan pengguna mengedit informasi login mereka.