首頁 >後端開發 >PHP問題 >聊聊PHP中註冊、修改、刪除功能的實作方法

聊聊PHP中註冊、修改、刪除功能的實作方法

PHPz
PHPz原創
2023-04-26 10:31:17845瀏覽

在 Web 開發領域中,PHP 已成為了最受歡迎的伺服器端腳本語言之一。其靈活、高效、易學易用的特點,使得 PHP 能夠快速、可靠地創建各種各樣的動態網站和 Web 應用程式。

在實際的開發工作中,使用者註冊、資訊修改和資料刪除是不可或缺的功能。在 PHP 上,完成這些常用功能的過程比較簡單。因此,本文將介紹 PHP 中註冊、修改和刪除功能的實作方法。

一、註冊功能

1.建立表格

首先需要建立一個使用者資料表格,可以使用 MySQL、MariaDB等關係型資料庫管理系統建立。

建立使用者表格的 SQL 語句如下:

CREATE TABLE IF NOT EXISTS users (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

以上的表格有一個自增 ID 字段,以及使用者名稱、密碼和電子郵件地址三個字段。

  1. 寫 HTML

在 HTML 頁面中,我們需要新增一個表單,讓使用者填寫註冊資訊。

下面是一個簡單的範例表單:

<form action="register.php" method="post">
    <label>用户名:<input type="text" name="username"></label><br>
    <label>密码:<input type="password" name="password"></label><br>
    <label>邮箱:<input type="text" name="email"></label><br>
    <button type="submit" name="submit">注册</button>
</form>

表單向頁面 register.php 提交資料。當使用者點擊「註冊」按鈕時,就會將資料傳送到後台腳本進行處理。

  1. PHP 腳本

PHP 腳本的主要任務是將輸入資料處理後儲存到資料庫中。以下是實現步驟。

  • 建立資料庫連線

使用 PHP 提供的 mysqli_connect() 函數。

$conn = mysqli_connect($dbHost, $dbUser, $dbPassword, $dbName);
  • 取得表單資料

使用 PHP 的 $_POST 方式取得表單資料。

$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
  • 儲存資料

將取得到的資料插入表格中。

$insert_query = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
mysqli_query($conn, $insert_query);
  1. 完整register.php 腳本


<form action="register.php" method="post">
    <label>用户名:<input type="text" name="username"></label><br>
    <label>密码:<input type="password" name="password"></label><br>
    <label>邮箱:<input type="text" name="email"></label><br>
    <button type="submit" name="submit">注册</button>
</form>

二、修改功能

  1. 編寫HTML
##用戶需要登入後才能修改訊息,因此需要新增登入介面和登入表單。

登入介面和登入表單範例程式碼如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body>
    <h1>用户登录</h1>
    <form action="login.php" method="post">
        <label>用户名:<input type="text" name="username"></label><br>
        <label>密码:<input type="password" name="password"></label><br>
        <button type="submit" name="submit">登录</button>
    </form>
</body>
</html>
當使用者成功登入後,將被重新導向到一個修改資訊的頁面。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>修改信息</title>
</head>
<body>
    <h1>修改信息</h1>
    <form action="update.php" method="post">
        <label>新的密码:<input type="password" name="password"></label><br>
        <label>新的邮箱:<input type="text" name="email"></label><br>
        <button type="submit" name="submit">保存</button>
    </form>
</body>
</html>
    編寫PHP 腳本
在login.php 中驗證使用者密碼是否正確,如果正確則將資訊儲存到PHP 的$_SESSION 變數中,並重定向到update.php 頁面。

以下是 login.php 腳本的程式碼:

<?php
session_start();
if ($_SERVER[&#39;REQUEST_METHOD&#39;] === &#39;POST&#39;) {
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];

    $dbHost = "localhost";
    $dbUser = "root";
    $dbPassword = "";
    $dbName = "mydb";

    $conn = mysqli_connect($dbHost, $dbUser, $dbPassword, $dbName);

    $sql = "SELECT * FROM users WHERE username=&#39;$username&#39; AND password=&#39;$password&#39;";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
        $_SESSION['username'] = $username;
        header('Location: update.php');
    } else {
        echo "用户名或密码错误";
    }

    mysqli_close($conn);
}
?>
在 update.php 頁面中,取得 session 中的使用者名,然後更新資料庫中的密碼和郵件地址。

以下是update.php 的程式碼:

<?php
session_start();
if (!isset($_SESSION[&#39;username&#39;])) {
    header(&#39;Location: login.php&#39;);
}

$dbHost = "localhost";
$dbUser = "root";
$dbPassword = "";
$dbName = "mydb";

$conn = mysqli_connect($dbHost, $dbUser, $dbPassword, $dbName);

if ($_SERVER[&#39;REQUEST_METHOD&#39;] === &#39;POST&#39;) {
    $username = $_SESSION[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    $email = $_POST[&#39;email&#39;];

    $update_query = "UPDATE users SET password=&#39;$password&#39;, email=&#39;$email&#39; WHERE username=&#39;$username&#39;";
    mysqli_query($conn, $update_query);

    echo "更新成功!";
}
?>

<form action="update.php" method="post">
    <label>新的密码:<input type="password" name="password"></label><br>
    <label>新的邮箱:<input type="text" name="email"></label><br>
    <button type="submit" name="submit">保存</button>
</form>
三、刪除功能

    編寫HTML
  1. ##在HTML 頁面中加入刪除連結或按鈕。
<h1>用户列表</h1>

<table>
    <thead>
        <tr>
            <th>用户名</th>
            <th>邮箱</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>user1</td>
            <td>user1@example.com</td>
            <td><a href="delete.php?id=1">删除</a></td>
        </tr>
        <tr>
            <td>user2</td>
            <td>user2@example.com</td>
            <td><a href="delete.php?id=2">删除</a></td>
        </tr>
        <tr>
            <td>user3</td>
            <td>user3@example.com</td>
            <td><a href="delete.php?id=3">删除</a></td>
        </tr>
    </tbody>
</table>

編寫 PHP 腳本
  1. 刪除作業需要取得使用者 ID,並執行 SQL 刪除語句。

以下是delete.php 腳本的程式碼:

<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPassword = "";
$dbName = "mydb";

$conn = mysqli_connect($dbHost, $dbUser, $dbPassword, $dbName);

if (isset($_GET[&#39;id&#39;])) {
    $id = $_GET[&#39;id&#39;];

    $delete_query = "DELETE FROM users WHERE id=$id";
    mysqli_query($conn, $delete_query);

    echo "删除成功!";
} else {
    echo "删除失败!";
}

mysqli_close($conn);
?>

結論

#PHP 作為一種常見的Web 開發語言,提供了實作各種功能的工具和方法,包括註冊、修改和刪除等功能。本文主要介紹如何使用 PHP 實作這些功能,希望能對初學者和中級開發者有所幫助。

以上是聊聊PHP中註冊、修改、刪除功能的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn