الفصل السادس: تنفيذ صفحة تسجيل مستخدم مدونة Doking
اكتشف شخص ما: أين يجب على المستخدمين نشر الملاحظات والردود؟ هذا هو السؤال الذي سيتناوله الفصلان السادس والسابع. يشرح هذا الفصل بشكل أساسي تنفيذ صفحة تسجيل المستخدم.
6.1.1 تعديل قالب صفحة bkblog.dwt.aspx
(1) افتح القالب bkblog.dwt.aspx، وأدخل الجدول Lefttab في العمود الأيسر، وأدخل النموذج Yhlogfrm في الصف الأول، وأدخل الجدول جدول logtab في النموذج Yhlogfrm، وأدخل مربعات النص ومناطق النص والأزرار ذات الصلة، وتظهر النتيجة في الشكل 6-1-1:
الشكل 6-1-1 تصميم تسجيل دخول المستخدم في القالب
(2) قم بتسمية مربع النص المطابق لـ Logname للمؤلف؛ قم بتسمية مربع النص المطابق لكلمة المرور Logpass، وقم بتغيير النوع إلى كلمة المرور، وقم بتغيير إجراء "التسجيل"؛ الزر إلى "لا شيء" ؛ قم بتغيير إجراء زر "تسجيل الدخول" إلى "إرسال النموذج".
(3) حدد الزر "تسجيل"، في لوحة [السلوك]، وأضف سلوكًا إلى عنوان URL، وفي مربع الحوار المنبثق، أدخل الرابط باسم "../yhinlog.aspx" كما هو موضح في الشكل 6 -1-2 :
الشكل 2-1-6 أضف سلوك الانتقال إلى عنوان URL
(4) احفظ القالب وقم بتحديث جميع صفحات الويب.
6.1.2 تصميم صفحة التسجيل
(1) قم بإنشاء صفحة ديناميكية جديدة لـ ASP.NET VB yhinlog.aspx تم إنشاؤها بواسطة القالب bkblog.dwt.aspx، وأدخل النموذج Yhinfrm في المنطقة القابلة للتحرير بالجسم الرئيسي، ثم أدخل قم بتكوين yhinlog وتنفيذ التصميمات ذات الصلة وتظهر النتيجة في الشكل 6-1-3:
الشكل 6-1-3 تصميم جدول yhinlog
(2) حدد مربع النص المطابق لاسم المستخدم، وانتقل إلى لوحة التسمية، وقم بتوسيع "CSS/Accessibility"، وأدخل YHNAME في المعرف، وقم بتوسيع "Unclassified"، وأدخل runat، server، قم بتغيير مربع النص YHNAME إلى عنصر تحكم الخادم، كما هو موضح في الشكل 6-1-4:
الشكل 6-1-4 قم بتعديل تسمية مربع النص
(3) وهكذا يسمى مربع النص المقابل لكلمة المرور YHPASS، ومربع النص المقابل لتأكيد كلمة المرور يسمى REPASS، ومربع النص المقابل لرمز QQ هو. المسمى YHQQ، ومربع النص المقابل لاسم البريد الإلكتروني في مربع النص YHEMAIL، وقم بتسمية مربع النص المقابل في الصفحة الرئيسية YHINDEX، وقم بتغيير كافة مربعات النص إلى عناصر تحكم الخادم.
(4) حدد النموذج Yhinfrm، وقم بتغييره إلى عنصر تحكم الخادم، ثم احفظ yhinlog.aspx.
6.1.3 استكمال تصميم صفحة التسجيل
(1) قم بإنشاء صفحة ويب ديناميكية جديدة yhlogok.aspx من القالب bkblog.dwt.aspx، وأدخل شعار جدول بثلاثة صفوف وعمود واحد في المنطقة القابلة للتحرير في الجسم الرئيسي، وأدخل النص "مرحبًا" في الصف الثاني، ثم انقر فوق في القائمة المختصرة لـ ASP.NET "ربط البيانات"، ثم انقر فوق "عنصر النموذج المشذب"، وحرك المؤشر إلى الموضع الموضح في الشكل 6-1-5، وأدخل "YHNAME".
الشكل 6-1-5 أدخل عنصر النموذج المقصوص
(2) ارجع إلى عرض التصميم، واستمر في إدخال النص "Donking's BLOG!"، وقم بتصميم شعار الجدول، وتظهر النتيجة في الشكل 6-1-6:
الشكل 6-1-6 تصميم شعار الجدول
(3) حدد زر "الصفحة الرئيسية"، في لوحة [السلوك]، أضف سلوكًا للانتقال إلى عنوان URL، في مربع الحوار المنبثق، أدخل الرابط كـ "فهرس" .aspx"، احفظ yhlogok.aspx
لمنع المستخدمين من إدخال معلومات تسجيل غير صحيحة، يجب توحيد معلومات تسجيل المستخدم والتحقق منها.
(1) افتح yhinlog.aspx، وافتح القائمة المختصرة لـ ASP.NET، ثم انقر فوق [المزيد من العلامات]، كما هو موضح في الشكل 6-2-1:
الشكل 6-2-1 القائمة المختصرة لـ ASP.NET
(2) قم بتوسيع "ASP.NET Label" ← "Validation Server Control" في محدد التسمية المنبثقة، وحدد "asp:RequiredFieldvalidator" في إطار النافذة اليمنى، ثم انقر فوق " انقر فوق الزر "إدراج"، كما هو موضح في الشكل 6-2-2 أدناه:
الشكل 2-6-2 محدد العلامات
(3) في محرر العلامات المنبثق، أضف عنصر تحكم التحقق من الصحة لمربع النص YHNAME واملأ العناصر كما هو موضح في الشكل 6-2-3:
الشكل 6-2-3 محرر علامات RequiredFieldValidator
(4) افتح محدد العلامات، وأدخل عنصر تحكم خادم التحقق ASP.NET ← عنصر تحكم CompareValidator، وأضف عنصر تحكم التحقق من المقارنة باستخدام مربع النص REPASS لمربع النص YHPASS، واملأ المربع ذي الصلة المعلومات كما هو مبين في الشكل 6-2-4 المبينة:
الشكل 4-2-6 محرر علامات CompareValidato
(5) أدخل عنصر تحكم خادم التحقق ASP.NET ← عنصر تحكم Rangevalidator، وأضف عنصر تحكم التحقق لمربع النص YHQQ، واملأ المعلومات ذات الصلة كما هو موضح في الشكل 6-2-5:
الشكل 5-2-6 محرر علامات مدقق النطاق
(6) أدخل عنصر تحكم خادم التحقق من صحة ASP.NET ← عنصر تحكم مدقق التعبير العادي، وأضف عنصر تحكم التحقق من الصحة لمربع النص YHEMAIL، واملأ العناصر المختلفة كما هو موضح في الشكل 6-2 -6، حيث تكون الصيغة:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
الشكل 6-2-6 محرر علامات مدقق التعبير العادي
(7) أدخل عنصر تحكم خادم التحقق ASP.NET ← عنصر تحكم مدقق التعبير العادي، وأضف عنصر تحكم التحقق لمربع النص YHINDEX، واملأ العناصر المختلفة كما هو موضح في الشكل 6- 2-7، حيث يكون تعبير التحقق: http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
الشكل 7-2-6 أداة التحقق من صحة التعبير العادي
يجب أن يحتوي محرر العلامات (8) على عنصر تحكم في التحقق من الصحة لمنع تكرار أسماء المستخدمين المسجلة من قبل المستخدمين.
①أضف مجموعة البيانات yhinlog، واضبطها للتصفية، وحقل التصفية هو YHNAME، ومتغير المعلمة هو متغير النموذج YHNAME، وتظهر إعداداته في الشكل 6-2-8:
الشكل 6-2-8 أدخل مجموعة البيانات yhinlog
② أدخل عنصر تحكم خادم التحقق ASP.NET → عنصر تحكم CustomValidator، وأضف عنصر تحكم التحقق لمربع النص YHINDEX، واملأ العناصر المختلفة كما هو موضح في الشكل 6-2-9، بما في ذلك وظيفة التحقق من العميل هي:
<%# IIf(yhinlog.RecordCount>0,FALSE,TRUE) %>
الشكل 6-2-9 محرر علامات التحقق المخصص
(9) احفظ yhinlog.aspx وتصفحه في IE. إذا ظهر مربع الحوار الموضح في الشكل 6-2-10، فهذا يعني أنه لا توجد أدلة فرعية في الدليل الجذر للملف. لا يحتوي موقع dklog aspnet_client أيضًا على مكتبة البرامج النصية JS اللازمة للتحقق من عناصر التحكم. عند تثبيت إطار عمل .NET، تم نسخ برنامج التثبيت إلى الدليل الجذر للموقع الافتراضي c:Inetpubwwwroot. انسخ الدليل الفرعي aspnet_client في c:Inetpubwwwroot إلى الدليل الجذر لموقع dkblog، وهو جاهز. نعم!
الشكل 6-2-10 لا يمكن العثور على مكتبة البرامج النصية الضرورية لـ JS
(1) افتح yhinlog.aspx، وأضف سلوك الخادم [Insert Record]، وأضف البيانات ذات الصلة للنموذج إلى ملف جدول البيانات YH تظهر الإعدادات في الشكل 6-3-1:
الشكل 6-3-1 إضافة سلوك الخادم [إدراج سجل]
(2) لا يدعم ASP.NET إرسال ترميز gb2312. قم بالتبديل إلى عرض الكود وابحث عن:
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
احذف الكود ResponseEncoding="gb2312" وسيكون الأمر على ما يرام:
<%@ Page Language ="VB" ContentType="text/html"%>
(3) احفظ معلومات تسجيل المستخدم وتصفحها وأرسلها في IE، وافتح جدول YH في Access، وستجد أن جميع المعلومات الصينية المقدمة قد تغيرت إلى ؟؟ . ما يجب القيام به؟ لا تقلق، وذلك لأن TASP.NET لا يدعم نقل ترميز gb2312. افتح yhinlog.aspx، وقم بالتبديل إلى عرض التعليمات البرمجية، وابحث عن السطر الأول من التعليمات البرمجية:
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
قم بتغييره إلى:
<%@ Page Language= "VB" ContentType="text/html" %>
أي إزالة ResponseEncoding = "gb2312". يتم أيضًا تعديل صفحات الويب الأخرى وفقًا لهذه الطريقة لمنع حدوث أخطاء في معلومات التقديم باللغة الصينية.