以下是一个简单的用户注册美食网站案例,使用 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 环境,并创建相应的数据库和表格。

PHP+MySQL 实现用户注册美食网站案例:详细代码和步骤

原文地址: https://www.cveoy.top/t/topic/f2Jy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录