انتقل إلى محتوى الدرس

Designing the users Database Table تصميم جدول المستخدمين users في قاعدة البيانات

ابنِ نظام تسجيل مستخدمين متكاملاً في PHP 8 يجمع التحقق من CSRF وتنقية المدخلات وفحص عدم تكرار البريد وتشفير كلمة المرور وحفظها بـ PDO.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يتطلب جدول المستخدمين users الآمن مفتاحاً أساسياً تلقائياً، وقيد تفرد UNIQUE على عمود البريد email، وعمود VARCHAR(255) لحفظ تجزئة كلمة المرور.

  • اجعل طول عمود كلمة المرور دائماً VARCHAR(255) حتى لا يتم اقتطاع أي تجزئة مستقبلية لـ Bcrypt أو Argon2id.
  • أضف قيد UNIQUE على مستوى قاعدة البيانات لعمود email لمنع تكرار الحسابات.
  • أضف عمود created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP لتوثيق وقت التسجيل.

تفرض الهيكلة قيد NOT NULL على جميع الحقول الأساسية وقيد UNIQUE على البريد الإلكتروني بترميز utf8mb4.

مخطط توضيحي: محاكي خطوات تسجيل المستخدمين والتحقق والحفظ بـ PDO
PHP
<?php

$sql = "CREATE TABLE IF NOT EXISTS users (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(190) NOT NULL UNIQUE,
    password_hash VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";

echo "Users DDL schema ready (" . strlen($sql) . " bytes)\n";