السلام عليكم ورحمة الله
اريد جعل الايميل و حساب المستخدم لا يتكرر في قاعدة البيانات وشكرا.
يمكنك استخدام دالة التحقق في التطبيق لمنع تكرار البريد الإلكتروني قبل اضافته في قواعد البيانات,
على سبيل المثال، يمكنك استخدام وظيفة check_unique_email للتحقق مما إذا كان البريد الإلكتروني موجودًا بالفعل في قاعدة البيانات. إذا كان موجودًا بالفعل، فلن تسمح الوظيفة بإدخال البريد الإلكتروني.
function check_unique_email($email) {
// إنشاء استعلام SQL
$sql = "SELECT COUNT(*) AS count FROM users WHERE email = :email";
// إعداد استعلام SQL
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':email', $email);
// تنفيذ الاستعلام
$stmt->execute();
// الحصول على عدد النتائج
$count = $stmt->fetchColumn();
// إرجاع النتيجة
return $count > 0;
}
يمكنك استخدام هذه الدالة قبل إدخال البريد الإلكتروني في قاعدة البيانات ,في طريقة create لنموذج المستخدم:
// إنشاء نموذج المستخدم
class UserModel {
public function create() {
// تحقق مما إذا كان البريد الإلكتروني موجودًا بالفعل
if (!check_unique_email($this->email)) {
throw new Exception("البريد الإلكتروني موجود بالفعل");
}
}
}
التعليقات