أولاً، سنقوم بتحسين صفحة التسجيل عن طريق إضافة القدرة على تحميل الصورة الرمزية. يجب أن تكون الصورة المصدر بتنسيق jpg أو gif أو png. ويجب أيضًا ألا يزيد حجمه عن 2 ميجابايت. لا تقلق، بعد ضغطها بالسكربت، سيكون حجم الصورة الرمزية حوالي 3 كيلو بايت وبصيغة jpg. افتح الصفحة ريج.بي أتش بيوإضافته في العلامة < استمارة> خط enctype = "متعدد الأجزاء/بيانات النموذج"، كما في المثال:
تسجيل
4. قم بإنشاء ملف، والذي سيقوم بإدخال البيانات في قاعدة البيانات وحفظ المستخدم. save_user.php(التعليقات بالداخل):
{
}
// إذا تم إدخال تسجيل الدخول وكلمة المرور، فإننا نقوم بمعالجتهما حتى لا تعمل العلامات والبرامج النصية، فلن تعرف أبدًا ما قد يدخله الأشخاص
// إزالة المسافات الزائدة
$تسجيل الدخول = تقليم($تسجيل الدخول);
كلمة المرور $ = تقليم($كلمة المرور);
// الاتصال بقاعدة البيانات
// التحقق من وجود مستخدم لديه نفس معلومات تسجيل الدخول
$result = mysql_query("حدد المعرف من المستخدمين حيث تسجيل الدخول = "$login"",$db);
إذا (! فارغة($myrow["id"])) (
exit("عذرًا، تسجيل الدخول الذي أدخلته مسجل بالفعل. الرجاء إدخال معلومات تسجيل دخول أخرى.");
}
// إذا لم يكن هناك شيء من هذا القبيل، فقم بحفظ البيانات
$result2 = mysql_query("INSERT INTO المستخدمين (تسجيل الدخول، كلمة المرور) VALUES("$login"،$password")");
// تحقق مما إذا كانت هناك أخطاء
إذا ($result2=="TRUE")
{
echo "لقد قمت بالتسجيل بنجاح! الآن يمكنك الدخول إلى الموقع. الصفحة الرئيسية";
}
آخر(
صدى "خطأ! أنت غير مسجل.";
}
?>
5. الآن يمكن لمستخدمينا التسجيل!بعد ذلك، تحتاج إلى إنشاء "باب" للمستخدمين المسجلين بالفعل للدخول إلى الموقع. Index.php(التعليقات بالداخل):
// الإجراء بأكمله يعمل في جلسات. وهو المكان الذي يتم فيه تخزين بيانات المستخدم أثناء تواجده في الموقع. من المهم جدًا إطلاقها في بداية الصفحة!!!
session_start();
?>
الصفحة الرئيسية
يسجل
// تحقق مما إذا كانت متغيرات تسجيل الدخول ومعرف المستخدم فارغة
إذا (فارغ($_SESSION["تسجيل الدخول"]) أو فارغ($_SESSION["id"]))
{
// إذا كان فارغًا، فلن نعرض الرابط
صدى "لقد قمت بتسجيل الدخول كضيف
هذا الرابط متاح فقط للمستخدمين المسجلين";
}
آخر
{
في الملف Index.phpسنعرض رابطًا سيكون مفتوحًا فقط للمستخدمين المسجلين. هذا هو بيت القصيد من البرنامج النصي - للحد من الوصول إلى أي بيانات.
6. يبقى هناك ملف للتحقق من تسجيل الدخول وكلمة المرور التي تم إدخالها. testreg.php (التعليقات بالداخل):
session_start();// الإجراء بأكمله يعمل على الجلسات. وهو المكان الذي يتم فيه تخزين بيانات المستخدم أثناء تواجده في الموقع. من المهم جدًا إطلاقها في بداية الصفحة!!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) // أدخل معلومات تسجيل الدخول التي تم إدخالها بواسطة المستخدم في متغير تسجيل الدخول $، إذا كان فارغًا، فقم بتدمير المتغير
إذا (isset($_POST["password"])) ( $password=$_POST["password"]; if ($password =="") ( unset($password);) )
// ضع كلمة المرور التي أدخلها المستخدم في متغير كلمة المرور $، إذا كانت فارغة، فقم بتدمير المتغير
إذا (فارغ($login) أو فارغ($password)) // إذا لم يدخل المستخدم معلومات تسجيل الدخول أو كلمة المرور، فإننا نصدر خطأ ونوقف البرنامج النصي
{
Exit("لم تقم بإدخال كافة المعلومات، ارجع واملأ جميع الحقول!");
}
// إذا تم إدخال تسجيل الدخول وكلمة المرور، فإننا نقوم بمعالجتهما حتى لا تعمل العلامات والبرامج النصية، فلن تعرف أبدًا ما قد يدخله الأشخاص
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
// إزالة المسافات الزائدة
$تسجيل الدخول = تقليم($تسجيل الدخول);
كلمة المرور $ = تقليم($كلمة المرور);
// الاتصال بقاعدة البيانات
include("bd.php");// يجب أن يكون ملف bd.php في نفس المجلد مثل جميع الملفات الأخرى، وإذا لم يكن موجودًا، فما عليك سوى تغيير المسار
$result = mysql_query("SELECT * من المستخدمين حيث تسجيل الدخول = "$login"",$db); // استرجاع جميع البيانات المتعلقة بالمستخدم الذي تم إدخاله من قاعدة البيانات
$myrow = mysql_fetch_array($result);
إذا (فارغ($myrow["كلمة المرور"]))
{
// إذا كان المستخدم الذي لديه معلومات تسجيل الدخول التي تم إدخالها غير موجود
}
آخر(
// إذا كان موجودًا، فتحقق من كلمات المرور
إذا ($myrow["password"]==$password) (
// إذا تطابقت كلمات المرور، فنطلق جلسة للمستخدم! يمكنك تهنئته، لقد دخل!
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];// يتم استخدام هذه البيانات كثيرًا، لذا فإن المستخدم الذي قام بتسجيل الدخول "سيحملها معه"
صدى "لقد دخلت الموقع بنجاح! الصفحة الرئيسية";
}
آخر(
// إذا كانت كلمات المرور غير متطابقة
خروج ("عذرًا، تسجيل الدخول أو كلمة المرور التي أدخلتها غير صحيحة.");
}
}
?>
حسنًا، لقد انتهى كل شيء الآن! قد يكون الدرس مملاً ولكنه مفيد جدًا. يتم عرض فكرة التسجيل فقط هنا، ثم يمكنك تحسينها: إضافة الحماية والتصميم وحقول البيانات وتحميل الصور الرمزية وتسجيل الخروج من الحساب (للقيام بذلك، ما عليك سوى تدمير المتغيرات من الجلسة باستخدام الوظيفة غير محدد) وما إلى ذلك وهلم جرا. حظ سعيد!
لقد راجعت كل شيء، أنه يعمل بشكل صحيح!