ဒေတာဘေ့စ် ပုံမှန်သတ်မှတ်ခြင်း
လက်ရှိတွင် ကျွန်ုပ်တို့၏ အသုံးပြုသူများ၏ အနေအထားကို
အသုံးပြုသူများကိုယ်တိုင် သိမ်းဆည်းထားသည့် ဇယားထဲတွင်ပင် သိမ်းဆည်းထားပါသည်။
သို့သော် ၎င်းမှာ မှားယွင်းနေပါသည် - ကျွန်ုပ်တို့သည်
ပုံမှန်မသတ်မှတ်ရသေးသော ဇယားတစ်ခုကို ရရှိနေပါသည်၊ အဘယ့်ကြောင့်ဆိုသော် 'user'
နှင့် 'admin' စကားလုံးများသည် အကြိမ်များစွာ ပြန်လည်ဖြစ်ပေါ်နေသောကြောင့်ဖြစ်သည်။
ပုံမှန်သတ်မှတ်ခြင်းကို ဆောင်ရွက်ရန်လိုအပ်ပါသည် - ကျွန်ုပ်တို့၏
အနေအထားများကို သီးသန့်ဇယား statuses တစ်ခုသို့ ထုတ်နှုတ်ပါမည်။
| id | name |
|---|---|
| 1 | user |
| 2 | admin |
ဇယား users တွင် ကော်လံတစ်ခုဖြစ်သည့်
status_id ကို ပြုလုပ်ပါမည်။ ယခု မှတ်ပုံတင်ခြင်းတွင်
ကော်လံ status_id ထဲသို့ ဇယား statuses မှ
အနေအထား၏ id ကို ရေးသွင်းပါမည်။
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', status_id='1'";
?>
အရှုပ်ထွေးဆုံးသော ပြောင်းလဲမှုများသည် အော်သော်ရေးဇေးရှင်းတွင် ဖြစ်ပေါ်လိမ့်မည်။
အသုံးပြုသူ၏ အနေအထားကို ရယူရန်
LEFT JOIN ကို ဆောင်ရွက်ရန်လိုအပ်ပါမည်။
<?php
$login = $_POST['login'];
// လော့ဂ်အင်အပေါ် အခြေခံ၍ အသုံးပြုသူကို ရယူပြီး အနေအထားနှင့် ပေါင်းစပ်ပါ။
$query = "SELECT users.*, statuses.name as status FROM users
LEFT JOIN statuses
ON users.status_id=statuses.id WHERE login='$login'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
$hash = $user['password'];
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['status'] = $user['status']; // အနေအထား
} else {
}
} else {
}
?>
သီအိုရီတွင် ဖော်ပြထားသည့်အတိုင်း သင်၏ အော်သော်ရေးဇေးရှင်းနှင့် မှတ်ပုံတင်ခြင်းကို ပြန်လည်ပြုပြင်ပါ။
အက်ဒ်မင်စာမျက်နှာ၏ လုပ်ဆောင်ချက်များ (အသုံးပြုသူများ၏ အနေအထားများကို ပြသခြင်း၊ အနေအထားများကို ပြောင်းလဲခြင်း စသည်တို့) တွင် ပြောင်းလဲမှုများ ပြုလုပ်ပါ။