个人日志系统的设计与实现代码包括建库建表语句
建库语句:
CREATE DATABASE personal_log DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
建表语句:
CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
password varchar(255) NOT NULL,
email varchar(255) NOT NULL,
created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE logs (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
title varchar(255) NOT NULL,
content text NOT NULL,
created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY user_id (user_id),
CONSTRAINT logs_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
代码实现:
1.注册页面
prepare($sql); $stmt->execute([$username, $email, password_hash($password, PASSWORD_DEFAULT)]); header('Location: login.php'); exit; } ?>2.登录页面
prepare($sql); $stmt->execute([$username]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; header('Location: index.php'); exit; } else { die('用户名或密码错误'); } } ?>3.主页
prepare($sql); $stmt->execute([$user_id]); $logs = $stmt->fetchAll(); ?>个人日志
4.新建日志页面
prepare($sql); $stmt->execute([$user_id, $title, $content]); header('Location: index.php'); exit; } ?>5.编辑日志页面
prepare($sql); $stmt->execute([$title, $content, $id]); header('Location: index.php'); exit; } $id = $_GET['id']; $sql = "SELECT * FROM logs WHERE id = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$id]); $log = $stmt->fetch(); ?>6.删除日志页面
prepare($sql); $stmt->execute([$id]); header('Location: index.php'); exit原文地址: http://www.cveoy.top/t/topic/hftB 著作权归作者所有。请勿转载和采集!