Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan pengesahan nama pengguna dalam php mysql

Bagaimana untuk melaksanakan pengesahan nama pengguna dalam php mysql

PHPz
PHPzasal
2023-04-19 11:36:17760semak imbas

Semasa proses pembangunan laman web, sistem log masuk pengguna adalah fungsi yang sangat biasa. Salah satu langkah penting ialah mengesahkan sama ada nama pengguna dan kata laluan yang dimasukkan oleh pengguna sepadan, memastikan pengguna memasukkan maklumat yang betul sebelum memasuki sistem.

Artikel ini akan memperkenalkan cara menggunakan PHP dan MySQL untuk melaksanakan fungsi pengesahan nama pengguna.

  1. Buat pangkalan data dan jadual pengguna

Pertama, kita perlu mencipta pangkalan data dalam MySQL dan mencipta jadual pengguna di dalamnya. Dalam jadual pengguna ini, kita perlu memasukkan medan berikut:

  • id: ID pengguna, meningkat sendiri.
  • nama pengguna: nama pengguna, unik.
  • kata laluan: kata laluan pengguna, disulitkan dan disimpan.
  • created_at: Masa penciptaan, merekodkan masa pendaftaran pengguna.

Kita boleh menggunakan pernyataan SQL berikut untuk mencipta jadual pengguna ini:

BUAT ujian PANGKALAN DATA;
UJIAN GUNA;
BUAT pengguna JADUAL (
id INT ( 11) BUKAN NULL AUTO_INCREMENT,
nama pengguna VARCHAR(255) BUKAN NULL UNIK,
kata laluan VARCHAR(255) BUKAN NULL,
dicipta_pada DATETIME BUKAN NULL,
KUNCI UTAMA (id)
;

  1. Tulis kod PHP

Seterusnya, kita perlu menulis kod PHP untuk menyambung ke pangkalan data MySQL dan mengesahkan nama pengguna dan kata laluan. Berikut ialah contoh kod PHP mudah:

//Maklumat sambungan pangkalan data MySQL
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";

// Cipta sambungan MySQL
$conn = new mysqli($servername, $username, $password, $dbname) ;
jika ($conn->connect_error) {
die("Sambungan gagal: " . $conn->connect_error);
}

// Dapatkan parameter POST Nama pengguna dan kata laluan
$nama pengguna = $_POST["nama pengguna"];
$kata laluan = $_POST["kata laluan"];

// Sahkan nama pengguna dan kata laluan
$sql = " PILIH * DARI pengguna WHERE nama pengguna='{$username}'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row["password"])) {

echo "登录成功";

} else {

echo "密码不正确";

}
} lain {
echo "Nama pengguna tidak wujud";
}

$conn->close();
?> 🎜>

Proses utama kod PHP di atas termasuk:

    Mewujudkan sambungan pangkalan data MySQL untuk menyambung dan mengendalikan data MySQL. Ia termasuk empat parameter sambungan: $servername, $username, $password, dan $dbname, yang digunakan untuk menentukan alamat pelayan, nama pengguna, kata laluan dan nama pangkalan data sambungan MySQL.
  1. Dapatkan parameter POST yang diserahkan oleh pengguna, termasuk nama pengguna dan kata laluan.
  2. Gunakan pernyataan SQL SELECT untuk bertanya sama ada terdapat rekod yang sepadan dengan nama pengguna dalam jadual pengguna. Jika perlawanan berjaya, gunakan fungsi password_verify untuk mengesahkan sama ada kata laluan yang dimasukkan oleh pengguna adalah konsisten dengan kata laluan yang disimpan dalam pangkalan data. Apa yang perlu diperhatikan di sini ialah kita harus menggunakan fungsi password_hash untuk menyulitkan kata laluan pengguna sebelum menyimpannya dalam pangkalan data semasa pendaftaran pengguna untuk meningkatkan keselamatan.
  3. Jika pengesahan berjaya, keluarkan "Log masuk berjaya" kepada pengguna. Jika tidak, bergantung pada ralat pengesahan, "Kata Laluan tidak betul" atau "Nama pengguna tidak wujud" adalah output.
  4. Buat halaman pendaftaran pengguna
Untuk memudahkan proses pendaftaran pengguna dan menambah rekod pengguna baharu dalam pangkalan data, kami boleh membuat halaman pendaftaran pengguna. Dalam halaman ini, kami akan meminta pengguna untuk mengisi nama pengguna dan kata laluan mereka, dan menghantar maklumat ini kepada kod PHP yang kami tulis sebelum ini melalui kaedah POST.

Berikut ialah contoh halaman pendaftaran pengguna yang mudah:


Halaman pendaftaran pengguna


Pendaftaran Pengguna



<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="注册">



Dalam kod di atas, kami menggunakan teg
. Kumpul nama pengguna dan kata laluan yang dimasukkan oleh pengguna semasa proses pendaftaran. Antaranya, nama pengguna dimasukkan menggunakan kotak teks, dan kata laluan dimasukkan menggunakan kotak kata laluan.

    Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan PHP dan MySQL untuk melaksanakan fungsi pengesahan nama pengguna. Kami mula-mula mencipta pangkalan data MySQL dan jadual pengguna, dan mencipta nama pengguna unik dan kata laluan yang disulitkan untuk setiap rekod pengguna. Kami kemudian menulis kod PHP untuk menyambung ke pangkalan data MySQL dan menyemak sama ada nama pengguna dan kata laluan yang dimasukkan oleh pengguna sepadan. Akhir sekali, kami mencipta halaman pendaftaran pengguna yang membolehkan pengguna mendaftar akaun baharu dalam bentuk tersuai.

Perkara di atas ialah perkara yang diperkenalkan oleh artikel ini, saya harap ia dapat membantu anda melaksanakan fungsi pengesahan pengguna anda.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengesahan nama pengguna dalam php mysql. 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