首页  >  文章  >  后端开发  >  php登录密码修改代码

php登录密码修改代码

WBOY
WBOY原创
2023-05-06 11:27:081105浏览

在网站的开发中,为了保证用户的账号安全,常常需要提供修改登录密码的功能。本文将介绍一种使用 PHP 编写的登录密码修改代码,帮助开发者实现这一功能。

首先,我们需要一个登录页面,用户在该页面输入用户名和密码进行登录。当用户登录成功后,会显示一个修改密码的按钮,用户点击该按钮即可跳转到修改密码的页面。

以下是登录页面的代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>登录页面</title>
    </head>
    <body>
        <h1>登录页面</h1>
        <form action="login.php" method="post">
            <label for="username">用户名:</label>
            <input type="text" id="username" name="username" required>
            <br>
            <label for="password">密码:</label>
            <input type="password" id="password" name="password" required>
            <br>
            <input type="submit" value="登录">
        </form>
    </body>
</html>

在这个页面中,我们通过表单将用户名和密码传递到名为 login.php 的 PHP 文件中,来进行用户登录的判断。

以下是 login.php 文件的代码:

<?php
session_start();

if (isset($_POST['username']) && isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // 连接数据库,判断用户名和密码是否正确
    $conn = mysqli_connect('localhost', 'root', 'password', 'my_db');
    if (!$conn) {
        die('连接数据库失败!');
    }

    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) == 1) {
        $_SESSION['username'] = $username;
        header('Location: changepassword.php');
    } else {
        echo '用户名或密码错误!';
    }

    mysqli_close($conn);
}
?>

在这个文件中,我们首先启用了 session,接着判断了用户名和密码是否传递过来。如果是,我们连接数据库,判断用户名和密码是否正确。如果正确,我们将用户名保存在 session 中,并跳转到修改密码的页面 changepassword.php。否则,我们提示用户用户名或密码错误。

接下来,我们编写 changepassword.php 文件,实现修改登录密码的功能。以下是代码:

<?php
session_start();

if (!isset($_SESSION['username'])) {
    header('Location: login.php');
    exit();
}

if (isset($_POST['oldPassword']) && isset($_POST['newPassword'])) {
    $username = $_SESSION['username'];
    $oldPassword = $_POST['oldPassword'];
    $newPassword = $_POST['newPassword'];

    // 连接数据库,修改密码
    $conn = mysqli_connect('localhost', 'root', 'password', 'my_db');
    if (!$conn) {
        die('连接数据库失败!');
    }

    $sql = "UPDATE users SET password='$newPassword' WHERE username='$username' AND password='$oldPassword'";
    $result = mysqli_query($conn, $sql);

    if ($result) {
        echo '密码修改成功!';
    } else {
        echo '密码修改失败!';
    }

    mysqli_close($conn);
}
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>修改密码页面</title>
    </head>
    <body>
        <h1>修改密码页面</h1>
        <form action="changepassword.php" method="post">
            <label for="oldPassword">旧密码:</label>
            <input type="password" id="oldPassword" name="oldPassword" required>
            <br>
            <label for="newPassword">新密码:</label>
            <input type="password" id="newPassword" name="newPassword" required>
            <br>
            <input type="submit" value="修改密码">
        </form>
    </body>
</html>

在这个文件中,我们首先判断用户是否已经登录,如果没有登录则返回登录页面。接着判断用户是否提交了修改密码的表单,如果是,我们从 session 中获取用户名,旧密码和新密码,连接数据库,进行密码修改操作,最后提示用户操作成功或失败。

以上就是使用 PHP 编写的登录密码修改代码,通过这个代码,用户可以在登录后修改自己的密码,从而提升了账号的安全性。当然,在实际开发中,还需要考虑一些安全性问题,比如对用户密码进行加密、对数据库的读写权限进行限制等。

以上是php登录密码修改代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn