91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

blog php如何實現用戶登錄

PHP
小樊
84
2024-10-18 00:08:16
欄目: 編程語言

在PHP中實現用戶登錄功能,通常需要以下幾個步驟:

  1. 創建數據庫表:首先需要在數據庫中創建一個表來存儲用戶信息,包括用戶名、密碼等。
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL
);
  1. 注冊新用戶:提供一個注冊表單,讓用戶輸入用戶名和密碼,然后將用戶信息插入到數據庫中。
<?php
// 連接數據庫
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 注冊新用戶
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = password_hash($_POST["password"], PASSWORD_DEFAULT);

    $sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";

    if ($conn->query($sql) === TRUE) {
        echo "New user registered successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}

$conn->close();
?>

<!-- 注冊表單 -->
<form action="" method="post">
    Username: <input type="text" name="username"><br>
    Password: <input type="password" name="password"><br>
    <input type="submit" value="Register">
</form>
  1. 用戶登錄:提供一個登錄表單,讓用戶輸入用戶名和密碼,然后驗證用戶信息是否與數據庫中的記錄匹配。
<?php
// 連接數據庫
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 用戶登錄
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];

    $sql = "SELECT * FROM users WHERE username='$username'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        $row = $result->fetch_assoc();
        if (password_verify($password, $row["password"])) {
            // 登錄成功,跳轉到用戶主頁
            header("Location: user_home.php");
        } else {
            echo "Invalid password";
        }
    } else {
        echo "User not found";
    }
}

$conn->close();
?>

<!-- 登錄表單 -->
<form action="" method="post">
    Username: <input type="text" name="username"><br>
    Password: <input type="password" name="password"><br>
    <input type="submit" value="Login">
</form>
  1. 保護用戶資源:在用戶登錄后,可以通過session來保護用戶資源,確保只有登錄用戶才能訪問特定頁面。
<?php
// 連接數據庫
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 檢查用戶是否已登錄
session_start();
if (!isset($_SESSION["loggedin"]) || !$_SESSION["loggedin"]) {
    header("Location: login.php");
    exit;
}

// 用戶主頁
echo "Welcome, " . $_SESSION["username"];
?>

這只是一個簡單的示例,實際項目中可能需要考慮更多安全性和功能性問題。

0
池州市| 宣化县| 中方县| 新乐市| 庆元县| 卢湾区| 喀什市| 航空| 蒲城县| 宝清县| 翁牛特旗| 安陆市| 射阳县| 垫江县| 宣化县| 巴东县| 阿城市| 巴林右旗| 谢通门县| 昌邑市| 大庆市| 霍州市| 新乡市| 广昌县| 长汀县| 长海县| 长白| 娱乐| 邻水| 从化市| 枞阳县| 抚顺县| 花莲市| 桂阳县| 仙居县| 离岛区| 利川市| 彩票| 封开县| 景宁| 延吉市|