چک کردن unique بودن یا نبودن username و email

پرسیده شده
فعالیت 981 روز پیش
دیده شده 498 بار
1

سلام امیدوارم حالتون خوب باشه.

 

من دیدم این وبسایتی که پیاده کردیم داده ی تکرار ی insert میکنه توی دیتا بیس یعنی جی؟

 

مثلا اگر یک کاربر یا یک ایمیل register کنه یک کابر دیگه هم میتونه با همون ایمیل دوباره ثبتنام کنه که این بده.

 

اگر دقت کرده باشید توی اکثر وبسایت ها username و email داده ی unique هستند ، یعنی نباید تکراری باشند.

 

 

من یک function پیاده کردم برای این کار که میخواستم اینجا بزارمش تا دوستان هم اگر به چنین مشکلی برخورد کردند استفاده کنند و اگر function من مشکلی داشت با هم مشکلش رو برطرف کنیم.

 

 

function isUnique(string $username, string $email): bool
{
    global $conn;
    $sql = "SELECT COUNT(username) AS usernameCount , COUNT(email) AS eamilCount FROM users 			 WHERE username LIKE ? OR email LIKE ?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ss", $username, $email);
    $stmt->bind_result($usernameCount, $eamilCount);
    $stmt->execute();
    $stmt->fetch();
    if ($usernameCount > 0 or $eamilCount > 0) {
        return false;
    }
    return true;
}

این تابع من هستش که مشخص میکند آیا دیتای کابر یکتا هست یا نه که بعد ازش میتونیم توی تابعی که مربوط به ثبتنام هم استفاده کنیم که مثلا اگر داده تکراری بود مقدار false رو return کنه

فایل پیوست

مسعود هارونی
مسعود هارونی

1 شهریور 00