အသုံးပြုသူအမည် အသုံးပြုထားခြင်း ရှိမရှိ စစ်ဆေးခြင်း
လောလောဆယ် ကျွန်ုပ်တို့၏ အကောင့်ဖွင့်ခြင်း လုပ်ငန်းစဉ်တွင် ပြဿနာတစ်ခုရှိနေပါသည်။ ဝဘ်ဆိုက်မှ အသုံးပြုသူအသစ်တစ်ဦးသည် ရှိပြီးသား အသုံးပြုသူအမည်တစ်ခုနှင့် အကောင့်ဖွင့်နိုင်ပါသည်။ ထိုသို့ဖြစ်ခြင်းသည် လုံးဝလက်မခံနိုင်ပါ။
ဤပြဿနာကိုဖြေရှင်းရန်၊ ဒေတာဘေ့စ်ထဲသို့ အသုံးပြုသူအသစ်ထည့်သွင်းရန် မေးမြန်းချက် (request) မပို့ခင်တွင်၊
SELECT မေးမြန်းချက်တစ်ခုကို လုပ်ဆောင်ရပါမည်။ ထိုမေးမြန်းချက်သည် လိုချင်သောအသုံးပြုသူအမည်ကို အခြားသူက အသုံးပြုထားပြီးသား ဟုတ်မဟုတ် စစ်ဆေးပေးပါမည်။
အကယ်၍ မသုံးရသေးပါက၊ အကောင့်ဖွင့်လိုက်ပါ။ အကယ်၍ သုံးထားပြီးသားဖြစ်ပါက၊ အကောင့်မဖွင့်တော့ဘဲ ထိုအကြောင်းကို သတိပေးစာတစ်စောင်ထုတ်ပြရပါမည်။
ကဲ ကုဒ်ကိုရေးကြည့်ရအောင်။
<?php
if (!empty($_POST['login']) and !empty($_POST['password'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login'";
$user = mysqli_fetch_assoc(mysqli_query($link, $query));
if (empty($user)) {
$query = "INSERT INTO users SET login='$login', password='$password'";
mysqli_query($link, $query);
$_SESSION['auth'] = true;
} else {
// အသုံးပြုသူအမည်သုံးထားပြီးဖြစ်သည်၊ ထိုအကြောင်းသတိပေးချက်ထုတ်ပြရန်
}
}
?>
သင်၏ကုဒ်ကို အောက်ပါအတိုင်း ပြင်ဆင်ပါ။ အကောင့်ဖွင့်ရန် ကြိုးပမ်းသည့်အခါတိုင်း အသုံးပြုသူအမည် အသုံးပြုထားခြင်း ရှိမရှိ စစ်ဆေးရပါမည်။ အကယ်၍ အသုံးပြုထားပြီးပါက၊ ထိုအကြောင်း သတိပေးပြီး အခြားအသုံးပြုသူအမည် ထပ်မံရိုက်ထည့်ရန် တောင်းဆိုရပါမည်။