Bagaimana untuk menambah tahap akses pengguna dalam fungsi log masuk PHP
<p>Saya membangunkan skrip log masuk/pendaftaran PHP yang apabila pengguna log masuk, ia memulakan sesi dan mencipta kuki, kemudian mengubah hala pengguna ke papan pemuka.php menggunakan: </p>
<pre class="brush:php;toolbar:false;">//dapatkan data dalam pembolehubah
$emailAddress = mysqli_real_escape_string($conn,$_POST['emailAddress']);
$kata laluan = mysqli_real_escape_string($conn,$_POST['password']);
$ingat = isset($_POST['ingatSaya']);
if(!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) {
$error = 'Sila masukkan alamat e-mel yang sah.';
}
elseif(email_exists($emailAddress,$conn)) { // jika alamat e-mel wujud
$result = mysqli_query($conn,"PILIH kata laluan DARIPADA pengguna WHERE e-mel = '$emailAddress'");
$retrievePassword = mysqli_fetch_assoc($result);
if(!password_verify($password,$retrievePassword['password'])) // jika kata laluan tidak sepadan
{
$error = 'Kata laluan tidak betul.';
} else { // jika kata laluan betul, log masuk pengguna
$_SESSION['email'] = $emailAddress;
if($ingat == 'on') { // jika "pastikan pengguna dilog masuk"
setcookie("e-mel",$emailAddress,time()+7200); // pastikan pengguna log masuk selama 2 jam
}
pengepala("lokasi: papan pemuka.php");
}
} else { // jika e-mel tidak wujud
$error = 'Alamat e-mel tidak didaftarkan.';
}</pre>
<p>Di bahagian atas semua halaman terhad saya (cth. papan pemuka.php) saya ada: </p>
<pre class="brush:php;toolbar:false;">if(logged_in()) { // jika pengguna log masuk, tunjukkan halaman</pre>
Fungsi <p>log_masuk() ialah: </p>
<pre class="brush:php;toolbar:false;">function logged_in(){
if(isset($_SESSION['email']) || isset($_COOKIE['email'])) {
kembali benar;
} lain {
kembali palsu;
}
}</pre>
<p>Dalam pangkalan data saya mempunyai lajur bertajuk <code>usrUserTypeNo</code> yang mempunyai "1" untuk pentadbir dan "3" untuk pengguna biasa.
Bagaimanakah saya boleh memasukkan jenis pengguna ini ke dalam sesi supaya saya boleh menentukan kandungan yang ditunjukkan kepada pengguna berdasarkan peranan mereka? </p>