Bagaimana untuk menggunakan PHP dan pengesahan e-mel untuk melaksanakan sistem log masuk dan pendaftaran yang selamat?
Dengan perkembangan Internet, semakin banyak maklumat dan perkhidmatan memerlukan pengguna log masuk untuk mengakses. Untuk memastikan keselamatan pengguna, kami boleh melaksanakan sistem log masuk dan pendaftaran yang selamat melalui pengesahan e-mel. Artikel ini akan memperkenalkan cara melaksanakan sistem sedemikian menggunakan PHP dan pengesahan e-mel.
1. Pelaksanaan fungsi pendaftaran
Pertama, kita perlu mencipta pangkalan data bernama "pengguna" dan mencipta jadual bernama "pengguna" di dalamnya. Struktur jadual adalah seperti berikut:
BUAT JADUAL users
(
id
int(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username
varchar(255) NOT NULL,
email
varchar(255) NOT NULL,
password
varchar(255) NOT NULL,
code
varchar(255) NOT NULL,
active
tinyint(1) BUKAN NULL LAILA '0'
);
Buat halaman bernama "register.php", yang digunakan untuk memaparkan borang pendaftaran Isi untuk pengguna.
<form method="post" action=""> <input type="text" name="username" placeholder="用户名" required><br> <input type="email" name="email" placeholder="邮箱" required><br> <input type="password" name="password" placeholder="密码" required><br> <input type="submit" name="register" value="注册"> </form>
Tambah kod PHP berikut dalam halaman "register.php" untuk mengendalikan permintaan pendaftaran pengguna.
if (isset($_POST['register'])) { $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; $code = md5(uniqid(rand())); $insert_query = "INSERT INTO users (username, email, password, code) VALUES ('$username', '$email', '$password', '$code')"; mysqli_query($connection, $insert_query); $to = $email; $subject = "验证您的邮箱"; $message = "点击以下链接验证您的邮箱: "; $message .= "https://example.com/verify.php?email=$email&code=$code"; $headers = "From: example@example.com"; mail($to, $subject, $message, $headers); echo "请检查您的邮箱以完成注册。"; }
Kod di atas akan memasukkan maklumat pendaftaran yang diisi oleh pengguna ke dalam pangkalan data, menjana kod pengesahan unik, dan menghantarnya kepada pengguna melalui e-mel untuk pengesahan.
2. Pelaksanaan fungsi log masuk
Buat halaman bernama "login.php", yang digunakan untuk memaparkan borang log masuk untuk diisi oleh pengguna.
<form method="post" action=""> <input type="email" name="email" placeholder="邮箱" required><br> <input type="password" name="password" placeholder="密码" required><br> <input type="submit" name="login" value="登录"> </form>
Tambah kod PHP berikut dalam halaman "login.php" untuk mengendalikan permintaan log masuk pengguna.
if (isset($_POST['login'])) { $email = $_POST['email']; $password = $_POST['password']; $login_query = "SELECT * FROM users WHERE email='$email' AND password='$password' AND active='1'"; $result = mysqli_query($connection, $login_query); if (mysqli_num_rows($result) == 1) { echo "登录成功!"; } else { echo "登录失败,请检查您的邮箱和密码。"; } }
Kod di atas akan menanyakan pangkalan data untuk melihat sama ada terdapat pengguna yang sepadan dengan e-mel dan kata laluan yang diisi oleh pengguna, dan akaun pengguna telah disahkan melalui e-mel.
3. Pelaksanaan fungsi pengesahan e-mel
Buat halaman bernama "verify.php", yang digunakan untuk mengesahkan e-mel pengguna.
<?php $email = $_GET['email']; $code = $_GET['code']; $update_query = "UPDATE users SET active='1' WHERE email='$email' AND code='$code'"; mysqli_query($connection, $update_query); echo "您的邮箱已通过验证,现在可以登录了!"; ?>
Kod di atas akan mengemas kini medan "aktif" lajur pengguna yang sepadan dalam pangkalan data kepada 1, menunjukkan bahawa e-mel telah disahkan.
Melalui langkah di atas, kami telah melaksanakan sistem log masuk dan pendaftaran yang selamat dan boleh dipercayai. Pengguna perlu mengisi alamat e-mel yang betul semasa mendaftar, dan mengesahkan dengan mengklik pautan dalam e-mel untuk melengkapkan pendaftaran. Apabila log masuk, ia juga akan disemak sama ada e-mel pengguna telah disahkan. Kaedah ini berkesan boleh menghalang pendaftaran berniat jahat dan operasi log masuk serta meningkatkan keselamatan sistem.
Di atas ialah kaedah dan kod sampel yang diperkenalkan dalam artikel ini untuk melaksanakan sistem log masuk dan pendaftaran selamat menggunakan PHP dan pengesahan e-mel. Harap ini membantu!
Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP dan pengesahan e-mel untuk melaksanakan sistem log masuk dan pendaftaran yang selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!