怎么写登陆的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文件编写方法。当然,还可以根据实际需求进行进一步的扩展和优化。