怎么写登陆的php文件
时间 : 2023-03-31 09:16:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
登陆是 Web 开发中非常基础和重要的一项功能,而 PHP 作为一种常用的编程语言,在网站开发中也拥有广泛的应用。下面我们就来学习如何编写一个简单的 PHP 登陆文件。
1. 创建数据库
首先需要创建一个数据库,用于存储用户信息和登陆状态等。可以使用类似 MySQL 的关系型数据库来实现,具体的步骤可以参考相关文档。
2. 连接数据库
使用 PHP 的 PDO 扩展来连接数据库,代码如下:
<?php
$servername = "localhost"; // 数据库地址
$username = "root"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database"; // 数据库名称
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为抛出异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
连接成功后,会输出 "Connected successfully",否则会输出错误信息。
3. 创建登陆表
接下来需要创建一个登陆表,用于存储用户的用户名和密码。可以使用以下 SQL 语句来创建表:
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
password VARCHAR(255) NOT NULL
);
这个表包含了一个自增的 ID 字段,一个用户名字段和一个密码字段。
4. 编写登陆代码
现在我们可以开始编写登录代码了。首先需要获取用户输入的用户名和密码,代码如下:
<?php
session_start(); // 启动会话
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username']; // 获取用户名
$password = $_POST['password']; // 获取密码
}
?>
接下来需要在数据库中查询用户是否存在,代码如下:
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
// 用户名和密码匹配,设置 session
$_SESSION['user'] = $user['username'];
header('Location: dashboard.php');
exit();
} else {
// 登陆失败,显示错误信息
$error = "Incorrect username or password";
}
这段代码先使用 PDO 准备语句查询数据库中是否存在该用户名,然后使用 `password_verify()` 函数来验证用户输入的密码是否和数据库中存储的密码匹配。如果匹配成功,则设置一个 session,并重定向到后台页面。否则,显示一个错误信息。
完整的登陆代码如下:
<?php
session_start(); // 启动会话
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username']; // 获取用户名
$password = $_POST['password']; // 获取密码
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为抛出异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
// 查询用户
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
// 用户名和密码匹配,设置 session
$_SESSION['user'] = $user['username'];
header('Location: dashboard.php'); // 重定向到后台页面
exit();
} else {
// 登陆失败,显示错误信息
$error = "Incorrect username or password";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<?php if (isset($error)) {
echo "<p>$error
";} ?>
<form method="post">
<label>Username:</label><br>
<input type="text" name="username" required><br>
<label>Password:</label><br>
<input type="password" name="password" required><br>
<button type="submit">Login</button>
</form>
</body>
</html>
在这个代码中,如果用户输入的用户名或密码为空,则会提示 "Username and password are required"。如果用户名或密码不正确,则会提示 "Incorrect username or password"。如果登陆成功,则会重定向到后台页面。
总结:登陆是 Web 开发中非常基本的功能,PHP 作为一种常用的编程语言,在实现登陆功能方面也有广泛的应用。我们可以使用 PDO 扩展来连接数据库,并使用准备语句来执行查询操作,然后使用 `password_verify()` 函数来验证用户输入的密码是否正确。登陆成功后还可以使用 session 来记录用户的登陆状态。
登录是一个网站中最基本的功能之一,在PHP中实现用户登录功能的方法很多。下面我们就介绍一种基本实现用户登录的PHP文件编写方法。
1. 建立数据库
登录功能需要一个用户表来存储用户的登录信息,因此首先需要建立一个数据库和一个用来存储用户信息的数据表。假设我们将数据库命名为“mydatabase”,数据表命名为“user_info”。
2. 连接数据库
创建一个名为“conn.php”的PHP文件,将用于连接数据库。
```php
<?php
// 数据库连接参数
$dbhost = "localhost"; // 数据库服务器地址
$dbuser = "root"; // 连接数据库的用户名
$dbpass = "root"; // 连接数据库的密码
$dbname = "mydatabase"; // 数据库名称
$conn = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
// 检测连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
3. 创建登录页
创建一个名为“login.php”的PHP文件,用于实现用户登录功能。在页面中添加表单,用户可以在表单中输入用户名和密码,然后提交表单。
```php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登录</title>
</head>
<body>
<h2>用户登录</h2>
<form action="login.php" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">密 码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="登录">
</form>
</body>
</html>
4. 处理用户登录信息
在“login.php”文件中添加以下代码:
```php
<?php
require('conn.php');
if($_SERVER["REQUEST_METHOD"]=="POST"){
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM user_info WHERE username='$username' and password='$password'";
$result = mysqli_query($conn,$sql);
$count = mysqli_num_rows($result);
if($count==1){
echo "登录成功!";
}else{
echo "登录失败!";
}
}
?>
首先,我们在页面顶部引入了“conn.php”文件,通过调用该文件,实现了与数据库的连接。
接着,我们使用$_POST全局变量来获取从表单提交的用户名和密码数据。
使用SELECT语句从用户表中获取输入的用户名和密码,并将结果保存在$result变量中。
通过mysqli_num_rows函数确定结果集中是否存在一条匹配记录。如果存在,即表明用户输入的用户名和密码正确,登录成功;如果不存在,则登录失败。
5. 测试
现在,我们可以访问“login.php”文件来测试用户登录功能了。在浏览器中输入网站地址,访问登录页面,在用户名和密码输入框中输入正确的登录信息,点击登录按钮,即可成功登录。
以上是基本的用户登录功能的PHP文件编写方法。当然,还可以根据实际需求进行进一步的扩展和优化。
上一篇
PHP中怎么让按钮更好看
下一篇
php注册表单怎么做
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章