PHP+MySQL 实现用户注册美食网站案例:详细代码和步骤
以下是一个简单的用户注册美食网站案例,使用 PHP 和 MySQL 实现:
前台页面
1. 注册页面 register.php
<!DOCTYPE html>
<html>
<head>
<title>注册 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>注册</h1>
<form method='post' action='register.php'>
<label>用户名:</label>
<input type='text' name='username'><br>
<label>密码:</label>
<input type='password' name='password'><br>
<label>确认密码:</label>
<input type='password' name='confirm_password'><br>
<label>邮箱:</label>
<input type='email' name='email'><br>
<input type='submit' value='注册'>
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 获取表单数据
$username = $_POST['username'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
$email = $_POST['email'];
// 简单的表单验证
if (empty($username) || empty($password) || empty($confirm_password) || empty($email)) {
echo '请填写完整的注册信息';
} elseif ($password != $confirm_password) {
echo '两次输入的密码不一致';
} else {
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 检查用户名是否已存在
$sql = "SELECT * FROM users WHERE username='$username'" ;
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo '该用户名已被注册';
} else {
// 插入新用户数据
$sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
if (mysqli_query($conn, $sql)) {
echo '注册成功';
} else {
echo '注册失败:' . mysqli_error($conn);
}
}
// 关闭数据库连接
mysqli_close($conn);
}
}
?>
2. 登录页面 login.php
<!DOCTYPE html>
<html>
<head>
<title>登录 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>登录</h1>
<form method='post' action='login.php'>
<label>用户名:</label>
<input type='text' name='username'><br>
<label>密码:</label>
<input type='password' name='password'><br>
<input type='submit' value='登录'>
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 获取表单数据
$username = $_POST['username'];
$password = $_POST['password'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 检查用户名和密码是否匹配
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'" ;
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo '登录成功';
} else {
echo '用户名或密码错误';
}
// 关闭数据库连接
mysqli_close($conn);
}
?>
3. 美食列表页面 food.php
<!DOCTYPE html>
<html>
<head>
<title>美食列表 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>美食列表</h1>
<ul>
<li>红烧肉</li>
<li>麻婆豆腐</li>
<li>水煮鱼</li>
</ul>
<?php if (isset($_SESSION['username'])): ?>
<p>欢迎,<?php echo $_SESSION['username']; ?>!</p>
<a href='logout.php'>退出登录</a>
<?php else: ?>
<a href='login.php'>登录</a>
<a href='register.php'>注册</a>
<?php endif; ?>
</body>
</html>
4. 退出登录页面 logout.php
<?php
session_start();
session_destroy();
header('Location: food.php');
?>
后台页面
1. 用户管理页面 admin_users.php
<!DOCTYPE html>
<html>
<head>
<title>用户管理 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>用户管理</h1>
<table>
<tr>
<th>用户名</th>
<th>邮箱</th>
<th>操作</th>
</tr>
<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 查询所有用户数据
$sql = "SELECT * FROM users" ;
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {
echo '<tr>';
echo '<td>' . $row['username'] . '</td>';
echo '<td>' . $row['email'] . '</td>';
echo '<td><a href="admin_edit_user.php?id=' . $row['id'] . '">编辑</a> <a href="admin_delete_user.php?id=' . $row['id'] . '">删除</a></td>';
echo '</tr>';
}
// 关闭数据库连接
mysqli_close($conn);
?>
</table>
<a href='admin_add_user.php'>添加用户</a>
</body>
</html>
2. 添加用户页面 admin_add_user.php
<!DOCTYPE html>
<html>
<head>
<title>添加用户 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>添加用户</h1>
<form method='post' action='admin_add_user.php'>
<label>用户名:</label>
<input type='text' name='username'><br>
<label>密码:</label>
<input type='password' name='password'><br>
<label>确认密码:</label>
<input type='password' name='confirm_password'><br>
<label>邮箱:</label>
<input type='email' name='email'><br>
<input type='submit' value='添加'>
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 获取表单数据
$username = $_POST['username'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
$email = $_POST['email'];
// 简单的表单验证
if (empty($username) || empty($password) || empty($confirm_password) || empty($email)) {
echo '请填写完整的用户信息';
} elseif ($password != $confirm_password) {
echo '两次输入的密码不一致';
} else {
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 检查用户名是否已存在
$sql = "SELECT * FROM users WHERE username='$username'" ;
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo '该用户名已被注册';
} else {
// 插入新用户数据
$sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
if (mysqli_query($conn, $sql)) {
echo '添加用户成功';
} else {
echo '添加用户失败:' . mysqli_error($conn);
}
}
// 关闭数据库连接
mysqli_close($conn);
}
}
?>
3. 编辑用户页面 admin_edit_user.php
<!DOCTYPE html>
<html>
<head>
<title>编辑用户 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>编辑用户</h1>
<?php
// 获取要编辑的用户ID
$id = $_GET['id'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 查询要编辑的用户数据
$sql = "SELECT * FROM users WHERE id=$id" ;
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
echo '<form method="post" action="admin_edit_user.php?id=' . $row['id'] . '">';
echo '<label>用户名:</label>';
echo '<input type="text" name="username" value='' . $row['username'] . ''><br>';
echo '<label>密码:</label>';
echo '<input type="password" name="password"><br>';
echo '<label>确认密码:</label>';
echo '<input type="password" name="confirm_password"><br>';
echo '<label>邮箱:</label>';
echo '<input type="email" name="email" value='' . $row['email'] . ''><br>';
echo '<input type="submit" value="保存">';
echo '</form>';
} else {
echo '该用户不存在';
}
// 关闭数据库连接
mysqli_close($conn);
?>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 获取表单数据
$id = $_GET['id'];
$username = $_POST['username'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
$email = $_POST['email'];
// 简单的表单验证
if (empty($username) || empty($email)) {
echo '请填写完整的用户信息';
} elseif (!empty($password) && $password != $confirm_password) {
echo '两次输入的密码不一致';
} else {
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 更新用户数据
$sql = "UPDATE users SET username='$username', email='$email'" ;
if (!empty($password)) {
$sql .= ", password='$password'" ;
}
$sql .= " WHERE id=$id" ;
if (mysqli_query($conn, $sql)) {
echo '保存成功';
} else {
echo '保存失败:' . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
}
}
?>
4. 删除用户页面 admin_delete_user.php
<?php
// 获取要删除的用户ID
$id = $_GET['id'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 删除用户数据
$sql = "DELETE FROM users WHERE id=$id" ;
if (mysqli_query($conn, $sql)) {
echo '删除成功';
} else {
echo '删除失败:' . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
5. 留言管理页面 admin_messages.php
<!DOCTYPE html>
<html>
<head>
<title>留言管理 - 美食网站</title>
<meta charset='utf-8'>
</head>
<body>
<h1>留言管理</h1>
<table>
<tr>
<th>姓名</th>
<th>邮箱</th>
<th>留言内容</th>
<th>操作</th>
</tr>
<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 查询所有留言数据
$sql = "SELECT * FROM messages" ;
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {
echo '<tr>';
echo '<td>' . $row['name'] . '</td>';
echo '<td>' . $row['email'] . '</td>';
echo '<td>' . $row['content'] . '</td>';
echo '<td><a href="admin_delete_message.php?id=' . $row['id'] . '">删除</a></td>';
echo '</tr>';
}
// 关闭数据库连接
mysqli_close($conn);
?>
</table>
</body>
</html>
6. 删除留言页面 admin_delete_message.php
<?php
// 获取要删除的留言ID
$id = $_GET['id'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'food_website');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 删除留言数据
$sql = "DELETE FROM messages WHERE id=$id" ;
if (mysqli_query($conn, $sql)) {
echo '删除成功';
} else {
echo '删除失败:' . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
以上代码只是一个简单的示例,实际上还需要更多的安全性和错误处理。同时,还需要在服务器上配置好 PHP 和 MySQL 环境,并创建相应的数据库和表格。
原文地址: https://www.cveoy.top/t/topic/f2Jy 著作权归作者所有。请勿转载和采集!