编写代码1、编写登录页面(index.php),实现用户名和密码的登录。只要求输入正确的用户名和密码进行登录验证即可。 2、编写一个简单的 welcome 页面,用户成功登录后进入该页面。该页面可以是用户基本信息的显示页面。如果用户直接通过 URL 访问该页面,页面可以识别用户的登录状态,如果未登录,重定向到 index.php 页面进行登录。 3、在 MySQL 中设计一个用户表(参考步骤 4 中的个人信息),完成一个用户注册页面。可以判断用户名是否被占用,如果被占用进行提示,如果没有被占用,注册成功后重定向到 welcome 页面进行显示。注意用户密码在数据库中存放时需要进行相应的加密。 4、实现一个页面,用于登录用户修改自己的个人信息,个人信息包括登录名、姓名、QQ 号、电话、邮箱、头像、密码等(照片可以不用设置)。注意密码需要连续输入两次,并判断是否是一致的。 5、页面需要通过 CSS 和 HTML 技术进行一定的美化。 6、注意使用 include_once 语句,把 session 相关的代码放在一个文件中,在多个页面进行引用。所有需要登录才能使用的页面需要用 session 进行保护,如果没有登录,重定向到登录页面。
时间: 2024-03-15 21:43:29 浏览: 149
登录页面的设计和相关代码
很好,以下是一个简单的 PHP 和 MySQL 实现的示例代码,可以用来实现你的需求:
index.php(登录页面):
```php
<?php
session_start(); // 开始会话
if(isset($_SESSION['username'])) { // 如果已经登录,跳转到 welcome 页面
header("Location: welcome.php");
exit();
}
if(isset($_POST['submit'])) { // 处理表单提交
$username = $_POST['username'];
$password = $_POST['password'];
// 在 MySQL 数据库中验证用户名和密码的正确性
$conn = mysqli_connect("localhost", "username", "password", "database_name");
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) == 1) { // 如果验证通过,保存登录状态并跳转到 welcome 页面
$_SESSION['username'] = $username;
header("Location: welcome.php");
exit();
} else { // 如果验证失败,提示用户重新输入
echo "用户名或密码错误!";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<h1>登录页面</h1>
<form method="post" action="">
<label>用户名:</label>
<input type="text" name="username" required><br>
<label>密码:</label>
<input type="password" name="password" required><br>
<input type="submit" name="submit" value="登录">
</form>
</body>
</html>
```
welcome.php(欢迎页面):
```php
<?php
session_start(); // 开始会话
if(!isset($_SESSION['username'])) { // 如果未登录,跳转到 index 页面
header("Location: index.php");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>欢迎页面</title>
</head>
<body>
<h1>欢迎页面</h1>
<p>欢迎您,<?php echo $_SESSION['username']; ?>!</p>
<a href="logout.php">退出登录</a>
</body>
</html>
```
register.php(注册页面):
```php
<?php
session_start(); // 开始会话
if(isset($_SESSION['username'])) { // 如果已经登录,跳转到 welcome 页面
header("Location: welcome.php");
exit();
}
if(isset($_POST['submit'])) { // 处理表单提交
$username = $_POST['username'];
$password = $_POST['password'];
$name = $_POST['name'];
$qq = $_POST['qq'];
$phone = $_POST['phone'];
$email = $_POST['email'];
// 在 MySQL 数据库中检查用户名是否被占用
$conn = mysqli_connect("localhost", "username", "password", "database_name");
$query = "SELECT * FROM users WHERE username='$username'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) == 1) { // 如果用户名被占用,提示用户
echo "用户名已经被占用,请重新输入!";
} else { // 如果用户名未被占用,将用户信息插入到 MySQL 数据库中,并跳转到 welcome 页面
$query = "INSERT INTO users (username, password, name, qq, phone, email) VALUES ('$username', '$password', '$name', '$qq', '$phone', '$email')";
mysqli_query($conn, $query);
$_SESSION['username'] = $username;
header("Location: welcome.php");
exit();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>注册页面</title>
</head>
<body>
<h1>注册页面</h1>
<form method="post" action="">
<label>用户名:</label>
<input type="text" name="username" required><br>
<label>密码:</label>
<input type="password" name="password" required><br>
<label>姓名:</label>
<input type="text" name="name" required><br>
<label>QQ 号:</label>
<input type="text" name="qq"><br>
<label>电话:</label>
<input type="text" name="phone"><br>
<label>邮箱:</label>
<input type="email" name="email"><br>
<input type="submit" name="submit" value="注册">
</form>
</body>
</html>
```
modify.php(修改页面):
```php
<?php
session_start(); // 开始会话
if(!isset($_SESSION['username'])) { // 如果未登录,跳转到 index 页面
header("Location: index.php");
exit();
}
if(isset($_POST['submit'])) { // 处理表单提交
$username = $_SESSION['username'];
$old_password = $_POST['old_password'];
$new_password = $_POST['new_password'];
$name = $_POST['name'];
$qq = $_POST['qq'];
$phone = $_POST['phone'];
$email = $_POST['email'];
// 在 MySQL 数据库中验证旧密码的正确性
$conn = mysqli_connect("localhost", "username", "password", "database_name");
$query = "SELECT * FROM users WHERE username='$username' AND password='$old_password'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) == 1) { // 如果旧密码验证通过,更新用户信息并跳转到 welcome 页面
$query = "UPDATE users SET password='$new_password', name='$name', qq='$qq', phone='$phone', email='$email' WHERE username='$username'";
mysqli_query($conn, $query);
header("Location: welcome.php");
exit();
} else { // 如果旧密码验证失败,提示用户重新输入
echo "旧密码不正确!";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>修改页面</title>
</head>
<body>
<h1>修改页面</h1>
<form method="post" action="">
<label>登录名:</label>
<input type="text" name="username" value="<?php echo $_SESSION['username']; ?>" disabled><br>
<label>旧密码:</label>
<input type="password" name="old_password" required><br>
<label>新密码:</label>
<input type="password" name="new_password" required><br>
<label>姓名:</label>
<input type="text" name="name" required><br>
<label>QQ 号:</label>
<input type="text" name="qq"><br>
<label>电话:</label>
<input type="text" name="phone"><br>
<label>邮箱:</label>
<input type="email" name="email"><br>
<input type="submit" name="submit" value="保存">
</form>
</body>
</html>
```
logout.php(退出登录页面):
```php
<?php
session_start(); // 开始会话
session_unset(); // 删除会话变量
session_destroy(); // 销毁会话
header("Location: index.php"); // 跳转到 index 页面
exit();
?>
```
其中,需要将 `username`、`password`、`database_name`、`localhost`、`name`、`qq`、`phone`、`email` 替换为你自己的 MySQL 数据库的用户名、密码、数据库名、主机名以及相应的字段名。
另外,为了保证代码的安全性,建议对用户的输入进行一定的过滤和验证。例如,可以使用 `mysqli_real_escape_string` 函数来过滤用户输入的字符串,可以使用 `preg_match` 函数来验证用户输入的格式等。
阅读全文