Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh untuk menerangkan cara menukar kata laluan dan keluar dari halaman dalam PHP

Contoh untuk menerangkan cara menukar kata laluan dan keluar dari halaman dalam PHP

PHPz
PHPzasal
2023-04-03 18:52:261089semak imbas

PHP ialah bahasa skrip yang digunakan secara meluas yang sangat sesuai untuk pembangunan web dan juga boleh memainkan kelebihannya dalam pengubahsuaian kata laluan dan halaman keluar. Artikel ini akan memberi tumpuan kepada cara melaksanakan pengubahsuaian kata laluan dan keluar dari halaman dalam PHP.

1. Halaman tukar kata laluan

Apabila pengguna ingin menukar kata laluan mereka, mereka harus terlebih dahulu melompat ke halaman tukar kata laluan dan biarkan mereka memasukkan kata laluan asal dan kata laluan baharu. Dalam PHP, anda boleh menggunakan pembolehubah $_POST untuk menerima data yang diserahkan pengguna Kod tersebut adalah seperti berikut:

<?php
session_start();
if(isset($_SESSION[&#39;username&#39;])) { //判断用户是否已登录
    if(isset($_POST[&#39;submit&#39;])) { //判断是否提交了表单
        $old_password = md5($_POST[&#39;old_password&#39;]); //将原密码加密
        $new_password = md5($_POST[&#39;new_password&#39;]); //将新密码加密
        //根据实际情况修改用户名和密码所对应的字段名
        $conn = mysqli_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;123456&#39;, &#39;test&#39;);
        $sql = "SELECT username, password FROM users WHERE username=&#39;{$_SESSION[&#39;username&#39;]}&#39; AND password=&#39;{$old_password}&#39;";
        $result = mysqli_query($conn, $sql);
        if(mysqli_num_rows($result) == 1) { //如果查询结果为一条数据,说明原密码正确
            $sql = "UPDATE users SET password=&#39;{$new_password}&#39; WHERE username=&#39;{$_SESSION[&#39;username&#39;]}&#39;";
            $result = mysqli_query($conn, $sql);
            if($result) {
                echo &#39;密码修改成功!&#39;;
            } else {
                echo &#39;密码修改失败!&#39;;
            }
        } else {
            echo &#39;原密码错误!&#39;;
        }
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>密码修改</title>
</head>
<body>
    <form action="" method="post">
        <label for="old_password">原密码:</label>
        <input type="password" name="old_password" id="old_password"><br>
        <label for="new_password">新密码:</label>
        <input type="password" name="new_password" id="new_password"><br>
        <input type="submit" name="submit" value="提交">
    </form>
</body>
</html>

Dalam kod di atas, kami mula-mula menyemak sama ada pengguna telah log masuk. Jika tidak. , kata laluan tidak boleh ditukar. Kemudian terima kata laluan asal dan kata laluan baharu yang diserahkan oleh borang melalui pembolehubah $_POST, dan bandingkan kata laluan asal dengan kata laluan yang disimpan dalam pangkalan data Jika sama, kemas kini kata laluan, jika tidak, kata laluan asal akan digesa adalah salah.

2. Keluar dari halaman

Dalam aplikasi web, kami biasanya menyediakan halaman keluar untuk membolehkan pengguna keluar dari sesi semasa dengan selamat. Dalam PHP, kita boleh menggunakan fungsi session_destroy() untuk memusnahkan sesi semasa dan kemudian melompat ke halaman log masuk. Kodnya adalah seperti berikut:

<?php
session_start();
session_destroy();
header(&#39;location: login.php&#39;);
?>

Dalam kod di atas, kita mula-mula memulakan sesi, kemudian gunakan fungsi session_destroy() untuk memusnahkan sesi semasa, dan akhirnya gunakan fungsi header() untuk melompat ke halaman log masuk.

Ringkasan

Dalam artikel ini, kami mempelajari cara melaksanakan perubahan kata laluan dan keluar dari halaman dalam PHP. Melalui penyerahan borang dan pengendalian sesi, kami boleh melaksanakan fungsi ini dengan mudah. Sudah tentu, dalam aplikasi sebenar, ralat dan isu keselamatan perlu dikendalikan dengan lebih berhati-hati untuk memastikan kestabilan dan keselamatan program.

Atas ialah kandungan terperinci Contoh untuk menerangkan cara menukar kata laluan dan keluar dari halaman dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn