Skrip login php digunakan untuk menyediakan otentikasi untuk halaman web kami. Script dijalankan setelah mengirimkan tombol login pengguna
Halaman masuk
Halaman login harus seperti berikut dan berfungsi berdasarkan sesi. Jika pengguna menutup sesi, itu akan menghapus data sesi
Dalam tutorial sebelumnya, Anda telah mempelajari cara membuat formulir yang memungkinkan pengguna untuk mendaftar akun. Setelah pengguna berhasil mendaftar, Anda mengarahkan mereka ke halaman login sehingga mereka dapat menggunakan nama pengguna dan kata sandi untuk masuk
Halaman login akan berisi form yang terdiri dari input username dan password serta tombol login seperti berikut
Untuk masuk, pengguna harus memasukkan nama pengguna dan kata sandi mereka dan mengklik tombol masuk
Jika nama pengguna dan kata sandi cocok, Anda dapat mengalihkannya ke halaman yang dilindungi kata sandi. Jika tidak, Anda mengarahkan pengguna kembali ke halaman login dengan pesan kesalahan
Perhatikan bahwa lebih aman untuk mengeluarkan pesan umum (nama pengguna atau kata sandi tidak valid) ketika nama pengguna atau kata sandi tidak cocok
Buat formulir login
Pertama, buat halaman
<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)_4 di folder<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)5Kedua, tentukan form login dengan input username dan password serta tombol login
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="//www.phptutorial.net/app/css/style.css"> <title>Login</title> </head> <body> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> </body> </html>
Code language: HTML, XML (xml)Seperti halaman
<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)6, Anda dapat menggunakan kembali file<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)7 dan<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)8 dari folder<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)9 dan menggunakan fungsi$inputs = []; $errors = [];
Code language: PHP (php)0 untuk memuatnya ke halaman<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)4 sebagai berikut<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_Formulir login dikirim ke
<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)4. Oleh karena itu, Anda dapat memeriksa apakah metode permintaan HTTP adalah POST sebelum memproses formulirUntuk memproses formulir, Anda membuat
<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)4 di folder$inputs = []; $errors = [];
Code language: PHP (php)4<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)Bagaimana itu bekerja
Pertama, tentukan dua variabel untuk menyimpan data yang disanitasi dan pesan kesalahan
$inputs = []; $errors = [];
Code language: PHP (php)Kedua, periksa apakah metode permintaan HTTP adalah POST menggunakan fungsi
$inputs = []; $errors = [];
Code language: PHP (php)5if (is_post_request()) { // ... }
Ketiga, bersihkan dan validasi input pengguna menggunakan fungsi
$inputs = []; $errors = [];
Code language: PHP (php)6[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)Keempat, jika nama pengguna atau kata sandi tidak diberikan, alihkan pengguna ke halaman
<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)4 menggunakan teknik post-redirect-get (PRG) dan atur$inputs = []; $errors = [];
Code language: PHP (php)8 dan$inputs = []; $errors = [];
Code language: PHP (php)9 dalam sesi menggunakan fungsiif (is_post_request()) { // ... }
Code language: PHP (php)0if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)Kelima, panggil fungsi
if (is_post_request()) { // ... }
Code language: PHP (php)_1 untuk memverifikasi nama pengguna dan kata sandiJika nama pengguna atau kata sandi tidak cocok, setel pesan kesalahan dengan kunci
if (is_post_request()) { // ... }
Code language: PHP (php)2 dan alihkan pengguna kembali ke halaman<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)4<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)Ketujuh, jika nama pengguna dan kata sandi cocok, arahkan pengguna ke halaman
if (is_post_request()) { // ... }
Code language: PHP (php)4redirect_to('index.php');
Code language: PHP (php)if (is_post_request()) { // ... }
Code language: PHP (php)_4 adalah halaman yang dilindungi kata sandi. Artinya, hanya pengguna yang masuk yang dapat mengaksesnya—lebih lanjut tentang ini di bagian selanjutnyaTerakhir, dapatkan
$inputs = []; $errors = [];
Code language: PHP (php)9 dan$inputs = []; $errors = [];
Code language: PHP (php)8 dari sesi jika metode permintaan HTTP adalah GET[$errors, $inputs] = session_flash('errors', 'inputs');
Code language: PHP (php)Tampilkan data & pesan kesalahan yang dimasukkan saat login. halaman php
if (is_post_request()) { // ... }
Code language: PHP (php)_8 perlu diubah menjadi berikut ini untuk menunjukkan masukan pengguna serta pesan kesalahan<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_0Karena fungsi
if (is_post_request()) { // ... }
Code language: PHP (php)_1 tidak ada, kita perlu mendefinisikannyaTentukan fungsi login()
Fungsi
if (is_post_request()) { // ... }
Code language: PHP (php)_1 menerima nama pengguna dan kata sandi dan mengembalikan nilai true jika valid. Logika dari fungsiif (is_post_request()) { // ... }
Code language: PHP (php)_1 adalah sebagai berikut- Pertama, temukan nama pengguna di tabel
[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)2. Jika pengguna ada, lanjutkan ke langkah 2 - Kedua, verifikasi apakah kata sandi cocok
- Ketiga, jika nama pengguna tidak ada atau kata sandi tidak cocok, keluarkan pesan kesalahan
Untuk menemukan pengguna dari tabel
[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)4 di file[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)5<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_1Jika nama pengguna ada di tabel
[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)2, fungsi[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)4 mengembalikan array asosiatif dengan dua elemen yang kuncinya adalah nama pengguna dan kata sandi. Jika tidak, itu mengembalikan falseKarena Anda menyimpan hash kata sandi dalam database, Anda perlu menggunakan fungsi
[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)8 bawaan untuk mencocokkan kata sandi biasa dengan hashFungsi
[$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]);
Code language: PHP (php)_9 mengembalikan true jika kata sandi teks biasa cocok dengan hash, atau salah jika sebaliknyaJika
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)0 danif ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)1 cocok, Anda dapat memasukkan pengguna. Untuk melakukan itu, Anda perlu menetapkan nilai diif ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2 misalnya<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_2Dalam permintaan berikutnya, Anda dapat memeriksa variabel
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2 untuk melihat apakah pengguna dengan nama pengguna sedang masuk. Sebagai contoh<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_3Inilah fungsi
if (is_post_request()) { // ... }
Code language: PHP (php)1 lengkap<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_4Perhatikan bahwa Anda harus memanggil fungsi
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)5 untuk membuat ulang id sesi baru jika saat pengguna mulai masuk. Ini membantu mencegah serangan fiksasi sesiBerikut ini mendefinisikan fungsi
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)6 di src/auth. php, yang mengembalikan true jika pengguna sedang login<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_5Jika pengguna belum masuk, Anda dapat mengarahkan mereka ke login. halaman php. Berikut ini mendefinisikan fungsi
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)7 yang dialihkan ke login. halaman php jika pengguna saat ini tidak masuk<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_6Dan Anda dapat memanggil fungsi
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)7 di awal halaman mana pun yang memerlukan loginMisalnya, Anda dapat menyebutnya di halaman
if ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)9 seperti ini<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_7Logout pengguna
Untuk mengeluarkan pengguna, Anda perlu menghapus nilai yang Anda tetapkan saat masuk dan mengalihkan ke proses masuk. halaman php
Dalam fungsi
if (is_post_request()) { // ... }
Code language: PHP (php)1, Anda menambahkan nama pengguna ke variabelif ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2. Oleh karena itu, Anda perlu menghapusnya untuk mengeluarkan penggunaBerikut ini mendefinisikan fungsi
<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2 di<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)3 yang mengeluarkan pengguna dengan menghapusif ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)0 dan<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)5 dari variabelif ($errors) { redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_8Berikut ini mendefinisikan fungsi
<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)_7 yang mengembalikan nama pengguna dari pengguna yang saat ini masuk<?php require __DIR__ . '/../src/bootstrap.php'; ?> <?php view('header', ['title' => 'Login']) ?> <main> <form action="login.php" method="post"> <h1>Login</h1> <div> <label for="username">Username:</label> <input type="text" name="username" id="username"> </div> <div> <label for="password">Password:</label> <input type="password" name="password" id="password"> </div> <section> <button type="submit">Login</button> <a href="register.php">Register</a> </section> </form> </main> <?php view('footer') ?>
Code language: PHP (php)_9Buat tautan logout
Saat pengguna berhasil masuk, mereka dialihkan ke
if (is_post_request()) { // ... }
Code language: PHP (php)4Pada
if (is_post_request()) { // ... }
Code language: PHP (php)_4, Anda dapat menampilkan pesan selamat datang serta tautan logout seperti ini<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)0Saat pengguna mengeklik tautan logout, Anda perlu memanggil fungsi
<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2 untuk mengeluarkan penggunaUntuk melakukannya, Anda perlu membuat
redirect_to('index.php');
Code language: PHP (php)1 di folder<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)5Di
redirect_to('index.php');
Code language: PHP (php)_1, Anda perlu memanggil fungsi<?php if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); }
Code language: PHP (php)2 sebagai berikut<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)_1Arahkan ulang jika pengguna sudah masuk
Jika pengguna sudah login dan arahkan ke login. php atau daftar. php, Anda perlu mengarahkannya ke halaman index. php
Untuk melakukannya, Anda dapat menambahkan kode berikut ke awal file
<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)4 dan<?php $inputs = []; $errors = []; if (is_post_request()) { [$inputs, $errors] = filter($_POST, [ 'username' => 'string | required', 'password' => 'string | required' ]); if ($errors) { redirect_with('login.php', ['errors' => $errors, 'inputs' => $inputs]); } // if login fails if (!login($inputs['username'], $inputs['password'])) { $errors['login'] = 'Invalid username or password'; redirect_with('login.php', [ 'errors' => $errors, 'inputs' => $inputs ]); } // login successfully redirect_to('index.php'); } else if (is_get_request()) { [$errors, $inputs] = session_flash('errors', 'inputs'); }
Code language: PHP (php)6 di folder$inputs = []; $errors = [];
Code language: PHP (php)4