Membuat Proses Login dengan PHP dan HTML Dalam Satu Form


Bismillahirrohmanirrohim…

Artikel ini sebenarnya request dari seorang teman yang juga aktif di “komunitas tetangga”, kayaknya sih mau menduakan cinta lamanya (Delphi) dengan cinta barunya (PHP).. Hihihi.. 😀Oke, karena waktunya juga mepet banget, jadi saya asumsikan bahwa saya sudah membuat database dan satu buah tabel, nama tabelnya “tb_user” yang didalamnya sudah ada satu record data user dengan detail:

Username : riyanto
Password : user dan terenkripsi md5, jadinya terlihat seperti ini =>  ee11cbb19052e40b07aac0ca060c23ee

Pertama-tama buat form utk loginnnya menggunakan HTML.

<html>
<head>
<title>Membuat proses login dengan PHP dan HTML dalam satu form</title>
</head>
<body>
<!-- membuat form yg action nya pada halaman yg sama -->
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<table border="1">
<-- membuat 1 baris yg berisi label dan input form
<tr><td><label for="username">Username</label></td>
<td><input type="text" name="username"></td></tr>

<tr><td><label for="password">Password</label></td>
<td><input type="password" name="password"></td></tr>
</table>

<!-- membuat tombol sumbit dg value = Login -->
<tr><td colspan="2"><input type="submit" name="submit" value="Login"></td></tr>
</table>
</form>
</body>
</html>

Kemudian tambahkan kode berikut pada baris paling atas (diatas tag pembuka).

<?php
// membuat koneksi ke server
$koneksi = @mysql_connect("localhost","root","") or die (mysql_error());

if ($koneksi){
// jika berhasil koneksi ke server, pilih db
    @mysql_select_db("namadatabase", $koneksi);
}

// jika tombol Login sudan di klik
if (isset($_POST['submit'])){
    $username = $_POST['username'];
    $password = md5($_POST['password']);

// query sql nya
$sql = "SELECT * FROM tb_user WHERE username = '$username' AND password = '$password'";

// execute query sql
$query = mysql_query($sql) or die (mysql_error());

// ambil datanya dan simpan dalam array
$hasil = mysql_fetch_array($query);

// hitung hasil query
$jumlah = mysql_num_rows($query);

if ($jumlah > 0){
    /* jika datanya ketemu, mulai membuat session
    * yg nilai dari sessionnya diambil dari tabel
    */
    session_start();
    $_SESSION['username'] = $hasil['username'];
    $_SESSION['password'] = $hasil['password'];

    // arahkan ke halaman administrator, misal didalam folder "admin"
    header("location:admin/index.php");
}

else {
    // data tidak ketemu
    echo "Username atau password salah";
}
}
?>

Nah, saya rasa cukup disini dulu artikel ini. Semoga penjelasan yang saya tulis pada baris komentar bisa membuat pembaca semua mengerti apa maksud dari programnya.. 😀

Nb: Program ini belum saya uji coba kan, jadi kalau error, silakan lapor.. 😀

Advertisements

9 thoughts on “Membuat Proses Login dengan PHP dan HTML Dalam Satu Form

    1. Mas Riyanto Post author

      Iya, jadi ceritanya kan mau buat form login dan prosesnya dijadikan satu file. Nah, dalam tulisan ini saya buatkan satu buah form login dibawah (dibuat menggunakan HTML) dibawah script pemrosesnya (menggunakan PHP). Maksudnya tag pembuka itu tag pembuka HTML. Jadinya seperti ini:

      <?php
      // ini sintax pemrosesnya
      ?>
      
      

      Masih didalam file yg sama, ketikkan sintax HTML ini dibawah sintax PHPnya.

      <html>
      <!-- ini form loginnnya -->
      </html>
      

      Like

      Reply
    1. Mas Riyanto Post author

      Karena enkrip md5 tidak dapat di dekrip (dikembalikan nilainya), jadinya kalau mau melakukan update logikanya:
      1. Masukkan username dan password yg lama
      2. Bandingkan username dan md5(passwordlama) dg datausername dan datapassword yg ada di database.
      3. Kalau hasilnya sama, maka sediakan form utk password baru.
      4. Simpan password baru menggunakan perintah insert dg data password yg disimpan berupa enkrip md5(passwordbaru)..

      Lebih kurang seperti itu logikanya, semoga bisa membantu.. 🙂

      Like

      Reply
  1. febi

    // arahkan ke halaman administrator, misal didalam folder “admin”
    header(“location:admin/index.php”);

    ini maksudnya apa ya? berarti kita harus buat file admin? trus kok kenapa ada index.php?

    Like

    Reply
    1. Mas Riyanto Post author

      Terima kasih sudah berkunjung dan bertanya.

      Itu maksudnya gini mbak, misal website kita secara umum punya 2 halaman (halaman pengunjung dan halaman admin). Untuk halaman pengunjung, si users tidak perlu login utk bisa bisa mengaksesnya. Sedangkan halaman admin perlu login dulu.

      Nah, jika login berhasil maka si users (admin) akan diarahkan ke halaman administrator (dalam hal ini halaman administrator berada didalam folder “admin”). Di dalam folder admin ada file index.php nya.

      Semoga penjelasannya bisa dimengerti 😊

      Like

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.