Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan pendaftaran log masuk php

Bagaimana untuk melaksanakan pendaftaran log masuk php

PHPz
PHPzasal
2023-04-05 14:37:07630semak imbas

Dalam era Internet hari ini, fungsi log masuk dan pendaftaran laman web adalah salah satu fungsi yang paling biasa Cara melaksanakan fungsi log masuk dan pendaftaran dengan cepat dan selamat adalah amat penting. Sebagai bahasa pengaturcaraan Web yang popular, PHP menyediakan banyak alat dan perpustakaan fungsi untuk melaksanakan fungsi ini.

Artikel ini akan memperkenalkan secara ringkas cara menggunakan pangkalan data PHP dan MySQL untuk melaksanakan fungsi log masuk dan pendaftaran. Kami akan membincangkan isu ini dalam dua bahagian: pertama, pelaksanaan fungsi pendaftaran, kemudian pelaksanaan fungsi log masuk, dan akhirnya memberi tumpuan kepada cara meningkatkan keselamatan sistem.

1. Pelaksanaan fungsi pendaftaran

  1. Mencipta pangkalan data

Pertama, buat pangkalan data untuk menyimpan maklumat pengguna, termasuk ID pengguna dan nama pengguna , kata laluan dan maklumat lain. Pangkalan data MySQL boleh dibuat melalui alatan seperti phpMyAdmin, MySQL Workbench, atau secara automatik melalui kod berikut:

Buat pangkalan data bernama pengguna:

CREATE DATABASE pengguna;

Cipta jadual user_info dalam pangkalan data pengguna untuk menyimpan maklumat pengguna, dan tetapkan nama dan jenis data medan:

CIPTA MEJA user_info (

id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL

);

  1. Halaman pendaftaran

Halaman pendaftaran memaparkan borang HTML, membolehkan pengguna mengisi nama pengguna dan kata laluan mereka, dan mendapatkan data yang diisi oleh pengguna melalui kod PHP dan memasukkannya ke dalam pangkalan data.

Berikut ialah kod halaman pendaftaran mudah:

<label>用户名:</label><input type="text" name="username" /><br />
<label>密码:</label><input type="password" name="password" /><br />
<input type="submit" value="注册" />

Apabila pengguna menyerahkan borang, data input dimasukkan ke dalam pangkalan data melalui fail register.php. Kod fail register.php adalah seperti berikut:

$servername = "localhost";
$username = "root";
$password = "password ";
$dbname = "pengguna";

// Cipta sambungan
$conn = mysqli baharu($nama pelayan, $nama pengguna, $kata laluan, $dbname);

// Semak sambungan
jika ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

// Dapatkan data input
$username = $_POST['username' ];
$kata laluan = $_POST['kata laluan'];

// Masukkan data
$sql = "MASUKKAN KE DALAM info_pengguna (nama pengguna, kata laluan) NILAI ('$nama pengguna', '$ kata laluan')" ;

jika ($conn->query($sql) === BENAR) {

echo "注册成功";

} lain {

echo "Error: " . $sql . "<br>" . $conn->error;

}

//Tutup sambungan
$conn->close();
?>

Melalui kod di atas, maklumat pendaftaran pengguna akan disimpan ke pangkalan data.

2. Pelaksanaan fungsi log masuk

  1. Halaman log masuk

Halaman log masuk perlu memaparkan borang HTML untuk pengguna memasukkan nama pengguna dan kata laluan. Berikut ialah kod halaman log masuk mudah:

<label>用户名:</label><input type="text" name="username" /><br />
<label>密码:</label><input type="password" name="password" /><br />
<input type="submit" value="登录" />

  1. Pengesahan log masuk

Proses pengesahan log masuk memerlukan membandingkan data yang dimasukkan oleh pengguna dengan data yang disimpan sebelum ini dalam pangkalan data Jika ia sepadan, log masuk berjaya, jika tidak, ia akan menggesa bahawa log masuk gagal.

Berikut ialah kod PHP untuk pengesahan log masuk:

$servername = "localhost";
$username = "root";
$ kata laluan = "kata laluan";
$dbname = "pengguna";

// Cipta sambungan
$conn = mysqli baharu($nama pelayan, $nama pengguna, $kata laluan, $dbname);

// Semak sambungan
jika ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

// Dapatkan data input
$nama pengguna = $_POST [' username'];
$password = $_POST['password'];

// Sahkan pengguna
$sql = "SELECT * FROM user_info WHERE username='$username' AND password =' $password'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

// 登录成功
echo "登录成功";

} lain {

// 登录失败
echo "用户名或密码错误";

}

// Tutup sambungan
$conn->close();
?>

Dengan kod di atas, nama pengguna dan kata laluan yang dimasukkan oleh pengguna akan dibandingkan dengan data yang disimpan dalam pangkalan data, dan jika ia sepadan, log masuk akan berjaya.

3. Meningkatkan keselamatan sistem

Fungsi log masuk dan pendaftaran adalah fungsi sistem yang sangat penting, jadi adalah perlu untuk memastikan maklumat pengguna yang didaftarkan dan dilog masuk tidak diakses secara haram, dicuri, diusik , dsb., untuk memastikan keselamatan Sistem.

Berikut ialah beberapa cara untuk meningkatkan keselamatan sistem:

  1. Penyulitan kata laluan

Kata laluan ialah salah satu maklumat keselamatan yang paling penting untuk pengguna dan mesti cara yang disulitkan untuk melindungi. Apabila menyimpan kata laluan pengguna, gunakan algoritma penyulitan seperti MD5 dan SHA-1, dan jangan simpan kata laluan dalam teks yang jelas.

  1. Cegah suntikan SQL

Data yang dimasukkan oleh pengguna mungkin mengalami masalah suntikan SQL dan pembolehubah harus digunakan untuk menghalang suntikan SQL.

Sebagai contoh, kod berikut terdedah kepada suntikan SQL:

$sql = "SELECT * FROM user_info WHERE username=$_POST['username']";

hendaklah ditulis semula Untuk:

$sql = "SELECT * FROM user_info WHERE username='".$conn->real_escape_string($_POST['username'])."'";

  1. Gunakan kod pengesahan

Menggunakan kod pengesahan boleh menghalang serangan log masuk berniat jahat oleh robot dengan berkesan dan meningkatkan keselamatan sistem.

Kesimpulan

Artikel ini memperkenalkan secara ringkas cara menggunakan pangkalan data PHP dan MySQL untuk melaksanakan fungsi pendaftaran dan log masuk. Dalam proses melaksanakan fungsi ini, anda perlu memberi perhatian kepada isu keselamatan sistem. Hanya dengan memastikan keselamatan sistem dapat memastikan keselamatan maklumat pengguna.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pendaftaran log masuk 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