Rumah > Artikel > pembangunan bahagian belakang > Halaman Log Masuk dalam PHP
Jarang ditemui tapak web yang menarik tidak mencadangkan penciptaan akaun daripada pelanggannya. Untuk berbuat demikian, mereka perlu mempunyai kemudahan untuk pengguna baharu mendaftarkan diri mereka, dan kemudian log masuk dan berinteraksi dengan tapak web menggunakan akaun mereka. PHP mendedahkan utiliti yang mencukupi untuk menyediakan Halaman Log Masuk berfungsi, dengan cepat, yang juga boleh skala kemudian apabila diperlukan. Selepas menyediakan borang log masuk asas untuk meminta bukti kelayakan, skrip PHP yang sama boleh digunakan untuk memproses dan mengesahkan kelayakan, dan mengubah hala ke halaman yang sesuai apabila log masuk berjaya. Ia juga menyediakan pilihan untuk membuat dan menyimpan kuki dan sesi, untuk menjejaki pengguna setelah mereka menyelesaikan proses log masuk.
IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
PHP ialah bahasa skrip bahagian pelayan tanpa kewarganegaraan boleh skala. Ia membolehkan seseorang menangkap data borang dengan menyimpannya dalam tatasusunan $_GET atau $_POST bergantung pada sama ada kaedah yang digunakan semasa menyerahkan borang ialah GET atau POST. Secara amnya, kaedah siaran lebih disukai atas sebab keselamatan. Selepas penyerahan, tatasusunan ini boleh diindeks oleh nama medan input untuk mendapatkan nilai tertentu.
Untuk borang log masuk, bukti kelayakan dihantar dan disimpan dalam tatasusunan ini, yang lebih kerap daripada tidak, hanyalah satu set nama pengguna dan kata laluan. Berdasarkan keperluan, sama ada gabungan nama pengguna & kata laluan boleh disahkan terus dalam kod PHP itu sendiri, atau set nama pengguna yang sah, gabungan kata laluan mungkin disimpan dalam pangkalan data yang boleh dicari.
Mari buat halaman, Login.php yang mengandungi baris HTML berikut:
Kod:
<html> <head>A sample login page</head> <body> <h2>Enter Login Information:</h2><br> <form action="" method="post"> <label>Username : </label><input type="text" name="username" /><br/> <label>Password : </label><input type="password" name="pwd" /><br/> <input type="submit" value="Login" /> </form> </body> </html>
Output:
Barisan ini mencipta bentuk yang sangat mudah, memerlukan pengguna memasukkan dua medan, nama pengguna dan kata laluan. Ia menyediakan input ketiga, iaitu butang hantar dan menyebabkan data borang, iaitu nama pengguna dan kata laluan, dihantar ke lokasi yang disebut dalam atribut tindakan teg borang. Memandangkan ia kosong di atas, ia menghantar maklumat borang ke halaman PHP yang sama.
Halaman di atas adalah kod HTML statik, tanpa benar-benar mengesahkan pengguna atau log masuk orang itu ke halaman web dalaman. Untuk berbuat demikian, kita perlu memproses nilai yang diluluskan dalam nama pengguna medan dan pwd yang disimpan dalam $_POST kerana siaran kaedah.
Oleh itu, nilai yang ada boleh disemak menggunakan:
Kod:
<?php $error = ""; if(isset($_POST['username']) && isset($_POST['pwd'])){ // check for validity } ?>
Setelah mengesahkan pada kedua-dua input sememangnya ada, kami boleh mengesahkan nilainya dan mengubah hala seseorang ke halaman alu-aluan yang sesuai.
Kita boleh mencapai ini dengan memasukkan sekeping kod mudah berikut dalam blok pernyataan if yang ditunjukkan di atas:
Kod:
$username = $_POST['username']; $password = $_POST['pwd']; if($username == "admin" && $password == "l0G3In"){ header('location: Home.php'); } else { $error = "Invalid username or password!"; }
Dengan baris di atas, setelah pengguna menyerahkan set bukti kelayakan yang sah, dia membenarkan akses ke home.php, atau kami menyimpan mesej ralat yang boleh ditunjukkan kepada pengguna.
Kami tidak mahu pengguna log masuk berulang kali atas setiap permintaan. Oleh itu, kita perlu menjejaki pengguna yang telah log masuk, tanpa mengira halaman yang mereka minta. Salah satu cara untuk mencapai ini dalam PHP ialah menggunakan sesi.
Ringkasnya, sesi ialah maklumat kecil sebelah pelayan, disimpan sementara untuk pelanggan, setelah halaman itu diminta. Dalam PHP ini dicapai dengan memanggil function session_start() sebagai baris pertama dalam skrip. Dari kali seterusnya halaman itu diakses, session_start() tidak mencipta sesi baharu tetapi mendapatkan semula maklumat sesi yang dimulakan lebih awal dan disimpan dalam tatasusunan khas $_SESSION.
Nilai untuk dihantar merentasi halaman semasa sesi aktif boleh ditetapkan dalam cara yang serupa dengan tatasusunan biasa dan fungsi isset() boleh digunakan untuk menyemak sama ada nilai tertentu tersedia dalam tatasusunan.
Menggabungkan semua perkara yang dibincangkan, kod akan kelihatan seperti berikut:
Kod:
A sample login pageEnter Login Information:
Output:
Kini, mana-mana halaman lain yang memerlukan log masuk hanya perlu menyemak sama ada log masuk kunci sesi ditetapkan. Jika tidak, pengguna boleh dialihkan ke halaman log masuk. Jika tidak, dia mempunyai akses kepada kandungan dalaman rahsia.
Jom buat satu untuk tujuan demo:
Kod:
<?php session_start(); if(!isset($_SESSION["login"]) || $_SESSION["login"]!=True){ header('location: Login.php'); } ?> <html> <head>Welcome to User's Home Page</head> <body> <h2>Wishing you a good day!!</h2><br> </body> </html>
Output:
Kod di atas mula-mula mendapatkan semula butiran sesi dengan menggunakan session_start(). Ia kemudian mengesahkan bahawa sesi masih aktif untuk pengguna yang telah menyelesaikan proses log masuk. Jika tidak, pengguna dihantar ke halaman Log masuk.php. Jika pengguna berjaya melog masuk, kandungan selebihnya tersedia untuk pengguna.
Amat mudah untuk membuat halaman log masuk dalam PHP. Di sini kami telah menyimpan secara langsung bukti kelayakan dalam skrip, tetapi secara ideal (dan yang paling biasa) ia akan disimpan dalam beberapa bentuk pangkalan data atau pengurus kunci. Selain itu, di sini kami menggunakan sesi, yang disimpan di bahagian penyemak imbas, tetapi anda boleh menggunakan kuki yang disimpan di bahagian penyemak imbas (pelanggan) tetapi kurang dipercayai.
Atas ialah kandungan terperinci Halaman Log Masuk dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!