php 注册 登录代码
时间: 2023-08-25 14:04:30 浏览: 47
以下是一个简单的 PHP 注册登录示例代码(仅供参考):
register.php:
```
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");
// 处理注册请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
// 对密码进行加密
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// 插入用户数据到数据库
$query = "INSERT INTO Users (username, password, email) VALUES ('$username', '$hashed_password', '$email')";
mysqli_query($conn, $query);
// 重定向到登录页面
header("Location: login.php");
exit();
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="username">用户名:</label>
<input type="text" name="username">
<label for="password">密码:</label>
<input type="password" name="password">
<label for="email">电子邮件:</label>
<input type="email" name="email">
<button type="submit">注册</button>
</form>
```
login.php:
```
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");
// 处理登录请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 查询用户数据
$query = "SELECT password FROM Users WHERE username='$username'";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) == 1) {
// 验证密码
$row = mysqli_fetch_assoc($result);
if (password_verify($password, $row["password"])) {
// 验证通过,创建用户会话
session_start();
$_SESSION["username"] = $username;
// 重定向到受保护的页面
header("Location: dashboard.php");
exit();
}
}
// 验证失败,显示错误消息
$error = "用户名或密码错误";
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="username">用户名:</label>
<input type="text" name="username">
<label for="password">密码:</label>
<input type="password" name="password">
<button type="submit">登录</button>
</form>
<?php if (isset($error)) { echo $error; } ?>
```
在受保护的页面(如 dashboard.php)中,你需要在开头检查用户会话,如下所示:
```
<?php
session_start();
if (!isset($_SESSION["username"])) {
header("Location: login.php");
exit();
}
?>
```
以上是一个简单的 PHP 注册登录示例代码。当然,在实际应用中还需要考虑更多方面,如数据验证、安全性、用户体验等等。