السلام عليكم ورحمة الله
اريد جعل الايميل و حساب المستخدم لا يتكرر في قاعدة البيانات وشكرا.
يمكنك استخدام دالة التحقق في التطبيق لمنع تكرار البريد الإلكتروني قبل اضافته في قواعد البيانات,
على سبيل المثال، يمكنك استخدام وظيفة 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("البريد الإلكتروني موجود بالفعل"); } } }
التعليقات