سلام امیدوارم حالتون خوب باشه.
من دیدم این وبسایتی که پیاده کردیم داده ی تکرار ی 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 کنه