سلام بنده جهت جلوگیری از ثبت نام های تکراری از کدی که در زیر ساختم استفاده میکنم این کد نام کاربری یکسان رو محدود میکنه میخواستم بپرسم این کد به تنهایی کافیه ای باید اقدام دیگه ای هم انجام بدم./ کد من الان کار میکنه!
<?php
function Register(){
global $conn;
if (isset($_POST['submit'])){
$username = $_POST['username'];
$sql_user = $conn->prepare("SELECT user_name FROM users WHERE user_name = '$username'");
$sql_user->execute();
$row = $sql_user->fetch(PDO::FETCH_ASSOC);
if($row){
echo 'تکراری';
}else{
echo 'جدید';
}
}
}سلام
شما در ابتدا باید فیلد هایی داخل شون اطلاعات ذخیره میشن ( به خصوص فیلد email) باید یونیک باشه. همچنین باید ولیدیشن هم انجام بدید که اگه کاربر قبلا ثبت نام کرده بود به صفحه ای دیگه ای ریدایرکت بشه و مانع از ثبت اطلاعات تکراری بشه ( شما اگه فیلد ها رو یونیک کنید ذخیره نمیشه)
@vahidmto
شاید پاسخ شما همینجا باشد
با توجه به توضیحات شما کد بنده دیگه لزومی نداره نوشته بشه چون حالت یونیک رو چک کردم به نظر بهتر از شرط منه حالا یک سوال در حالت یونیک مقدار تکراری یک خطایی میده چطور میتونم اون خطا رو هندل کنم به متن مورد نظر ؟!
چه خطایی میده؟
@vahidmto
خطای دیتابیس میده چون اجازه نداره مقدار تکراری وارد کنه این خطای دیتابیس رو چطور میتونم با php هندل کنم ( خطا فقط موقع ارسال مقدار تکراری میاد )
سلام مجدد
خب شما می تونید کدتون رو داخل try catch قرار بدید. به این شکل می تونید داخل catch اررور رو هندل کنید
@vahidmto