Rumah  >  Artikel  >  pembangunan bahagian belakang  >  halaman lompat pengesahan log masuk php

halaman lompat pengesahan log masuk php

WBOY
WBOYasal
2023-05-06 09:09:07829semak imbas

Dalam pembangunan web, pengesahan log masuk ialah ciri biasa. Selepas pengguna memasukkan nama pengguna dan kata laluan mereka pada halaman log masuk, pelayan perlu mengesahkan sama ada maklumat itu betul. Jika maklumat yang dimasukkan adalah betul, pelayan akan membenarkan pengguna mengakses halaman yang memerlukan log masuk. Jika tidak, pelayan akan menafikan akses pengguna, atau melompat ke halaman log masuk untuk memasukkan semula nama pengguna dan kata laluan. Dalam PHP, agak mudah untuk melaksanakan pengesahan log masuk dan melompat ke halaman tertentu. Anda hanya perlu menggunakan beberapa fungsi dan teknik berkaitan PHP untuk mencapainya. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan pengesahan log masuk dan melompat ke halaman yang ditentukan.

  1. Bina halaman log masuk dan halaman pengesahan

Pertama, kita perlu membuat halaman log masuk dan halaman pengesahan. Halaman log masuk memerlukan borang di mana pengguna perlu memasukkan nama pengguna dan kata laluan mereka. Halaman pengesahan memerlukan skrip PHP untuk mengesahkan sama ada maklumat yang dimasukkan oleh pengguna adalah betul. Dalam contoh ini, kami memudahkan proses dahulu Nama pengguna dan kata laluan ditulis dalam skrip PHP, dan kemudian dilanjutkan ke pangkalan data.

Berikut ialah contoh halaman log masuk mudah:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>登录页面</title>
</head>
<body>
  <h1>登录</h1>
  <form method="post" action="login.php">
    <label for="username">用户名:</label><input type="text" name="username"><br/>
    <label for="password">密码:</label><input type="password" name="password"><br/>
    <input type="submit" value="登录">
  </form>
</body>
</html>

Dalam halaman ini, kami menyediakan borang untuk membenarkan pengguna memasukkan nama pengguna dan kata laluan mereka. Atribut tindakan borang ditetapkan kepada "login.php", yang bermaksud bahawa data borang diserahkan kepada skrip PHP bernama login.php melalui POST.

Berikut ialah contoh halaman pengesahan mudah:

<?php
session_start(); // 启动会话

// 确定正确的用户名和密码
$valid_username = 'user';
$valid_password = 'password';

// 获取用户输入的用户名和密码
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';

// 验证用户名和密码
if ($username === $valid_username && $password === $valid_password) {
  $_SESSION['username'] = $username; // 记录登录状态
  header('Location: main.php'); // 跳转到主页面
} else {
  echo '用户名或密码错误。';
}
?>

Dalam halaman ini, kami mula-mula memulakan sesi PHP untuk merekodkan status pengguna semasa proses log masuk. Seterusnya, kami menentukan nama pengguna dan kata laluan yang betul. Ini hanya ditulis dalam kod Dalam aplikasi sebenar, ia perlu ditanya dari pangkalan data. Kami kemudian mengambil nama pengguna dan kata laluan yang dimasukkan oleh pengguna dan membandingkannya dengan nama pengguna dan kata laluan yang betul. Jika nama pengguna dan kata laluan sepadan, gunakan tatasusunan $_SESSION untuk merekod nama pengguna (untuk pengesahan halaman seterusnya) dan lompat ke halaman bernama main.php. Jika tidak, keluarkan mesej ralat dan kekal pada halaman semasa.

  1. Tentukan sama ada pengguna dilog masuk

Semasa proses log masuk, kami merekodkan maklumat nama pengguna pengguna. Dalam halaman yang memerlukan pengesahan status log masuk, kami boleh menggunakan maklumat ini untuk menentukan sama ada pengguna log masuk. Jika pengguna sudah log masuk, kandungan halaman boleh dipaparkan secara langsung jika tidak, pengguna perlu melompat ke halaman log masuk dan log masuk semula.

Berikut ialah contoh mudah:

<?php
session_start(); // 启动会话

if (!isset($_SESSION['username'])) {
  header('Location: login.php'); // 跳转到登录页面
  die(); //结束执行当前命令
}

echo '欢迎你,' . $_SESSION['username'] . '。';
?>

Dalam halaman ini, kami mula-mula memulakan sesi. Kemudian, kami menggunakan fungsi isset untuk menentukan sama ada tatasusunan $_SESSION mengandungi maklumat nama pengguna. Jika ia tidak disertakan, gunakan fungsi pengepala untuk melompat ke halaman log masuk. Jika disertakan, kandungan halaman yang diperlukan boleh dipaparkan.

  1. Contoh lengkap

Berikut ialah contoh lengkap, termasuk halaman log masuk, halaman pengesahan dan halaman utama:

Halaman log masuk (login.php) :

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>登录页面</title>
</head>
<body>
  <h1>登录</h1>
  <form method="post" action="login.php">
    <label for="username">用户名:</label><input type="text" name="username"><br/>
    <label for="password">密码:</label><input type="password" name="password"><br/>
    <input type="submit" value="登录">
  </form>
</body>
</html>


Halaman Pengesahan (main.php):

<?php
session_start(); // 启动会话

if (!isset($_SESSION['username'])) {
  header('Location: login.php'); // 跳转到登录页面
  die(); //结束执行当前命令
}
?>

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>主页面</title>
</head>
<body>
  <h1>欢迎你,<?php echo $_SESSION['username']; ?>。</h1>
  <p>这里是主页面。</p>
</body>
</html>

Dalam contoh ini, kami mula-mula memulakan sesi dalam setiap halaman. Apabila pengguna berjaya log masuk (iaitu, memasukkan nama pengguna dan kata laluan yang betul dalam halaman log masuk.php) maklumat nama pengguna akan direkodkan dalam tatasusunan sesi $_SESSION. Dalam halaman utama, kami menyemak sama ada tatasusunan sesi $_SESSION mengandungi nama pengguna. Jika ia tidak disertakan, gunakan fungsi pengepala untuk melompat ke halaman log masuk (login.php) dan log masuk semula.

Apabila pengguna memasukkan maklumat log masuk yang betul, halaman log masuk (login.php) akan segera melompat ke halaman utama (main.php) dan memaparkan mesej alu-aluan. Jika pengguna tidak log masuk atau log masuk tidak sah, ia akan segera melompat ke halaman log masuk (login.php) untuk log masuk semula.

Ringkasan

Sangat mudah untuk melaksanakan halaman lompat pengesahan log masuk dalam PHP. Pertama, anda perlu membuat halaman log masuk dan halaman pengesahan Kemudian halaman pengesahan memerlukan beberapa kod PHP asas untuk mengesahkan sama ada maklumat yang dimasukkan oleh pengguna adalah betul, status pengguna akan direkodkan dalam $_SESSION ke halaman yang ditentukan. Dalam halaman yang perlu mengesahkan status log masuk, hanya gunakan maklumat rekod dalam $_SESSION. Dengan cara ini, anda boleh memastikan bahawa semua halaman yang memerlukan pengesahan log masuk hanya diakses oleh pengguna log masuk, memastikan keselamatan dan kefungsian tapak web.

Atas ialah kandungan terperinci halaman lompat pengesahan log masuk php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn