> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/php/bab-9-session-and-autentikasi/9.2-fitur-login-and-logout.md).

# 9.2 Fitur Login & Logout

Fitur login dan logout adalah dasar autentikasi di banyak aplikasi web.

Bagian ini menjelaskan alur verifikasi pengguna dan penghentian sesi.

### Tujuan belajar

Setelah mempelajari bagian ini, Anda diharapkan bisa:

* memahami alur login
* menyimpan status login dengan session
* menghapus session saat logout

### Apa itu login

Login adalah proses memeriksa identitas pengguna sebelum memberi akses ke aplikasi.

Dalam versi dasar, program memeriksa:

* username
* password

Jika cocok, pengguna dianggap berhasil masuk.

### Contoh alur login sederhana

```php
<?php
session_start();

$username = "admin";
$password = "12345";

if ($_POST["username"] == $username && $_POST["password"] == $password) {
    $_SESSION["login"] = true;
    $_SESSION["username"] = $username;
    echo "Login berhasil";
} else {
    echo "Login gagal";
}
?>
```

### Penjelasan singkat

Pada contoh itu:

* data login dibandingkan dengan data yang diharapkan
* jika cocok, session dibuat
* session dipakai sebagai tanda bahwa pengguna sudah login

### Apa itu logout

Logout adalah proses keluar dari aplikasi.

Saat logout, session yang menandai status login harus dihapus.

### Contoh logout sederhana

```php
<?php
session_start();
session_destroy();

echo "Logout berhasil";
?>
```

### Hal yang perlu diingat

Untuk tahap dasar modul ini, contoh login masih sederhana.

Pada proyek nyata, data login sebaiknya diambil dari database dan diproses lebih aman.

### Kapan fitur ini dipakai

Fitur login dan logout dipakai saat:

* aplikasi punya area admin
* data tidak boleh diakses semua orang
* pengguna perlu dikenali sebelum memakai fitur tertentu

### Kesalahan umum

* lupa `session_start()`
* session dibuat tetapi tidak dicek di halaman lain
* logout tidak benar-benar menghapus status login

### Latihan singkat

Buat simulasi login sederhana yang:

* menerima username dan password
* memberi status berhasil atau gagal
* membuat session saat login berhasil

### Poin evaluasi bab 9.2.

Pastikan Anda sudah memahami poin berikut:

* Saya paham alur dasar login dan logout.
* Saya tahu session dipakai untuk menyimpan status login.
* Saya bisa membaca contoh login sederhana.
* Saya tahu logout harus menghapus session.

Jika semua sudah jelas, lanjut ke [9.3 Pembatasan Hak Akses](/php/bab-9-session-and-autentikasi/9.3-pembatasan-hak-akses.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/php/bab-9-session-and-autentikasi/9.2-fitur-login-and-logout.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
