عرض مشاركة واحدة
قديم 06-27-2006, 11:00 مساءً   #1 (permalink)
ADMIN
.::+: Gulf Son :+::.

 
الصورة الرمزية ADMIN
 
تاريخ التسجيل: May 2005
الدولة: بلاد الخليج
المشاركات: 51,867
معدل تقييم المستوى: 53ADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيطADMIN نشيط
إرسال رسالة عبر مراسل ICQ إلى ADMINإرسال رسالة عبر مراسل MSN إلى ADMIN
صفحة التحقق من المعلومات (validentry.asp)


الدرس السابع عشر: صفحة التحقق من المعلومات
ستقوم باستقبال القيم المدخلة في نموذج Admin.asp ، ثم ستتحقق من صحت إدخال اسم المستخدم والرقم السري، ومن تسجيلهما في الموقع.
إن لم تكن المعلومات المدخلة صحيحة في النموذج، سوف ترسل هذه الصفحة (validentry.asp) ، متغير يسمى error إلى ملف admin.asp ، ليخبره عن نوع الخطأ في إدخال المعلومات. ليقوم النموذج بعرض رسالة الخطأ المناسبة للمستخدم.
إذا هذه الصفحة validentry.asp لن تقوم بعرض أي شيء للمستخدم، ستقوم فقط بالتحقق من صحة إدخال المعلومات، فإن كانت غير صحيحة، سيرسل error لـ admin.asp وسوف يعرض الخطأ. إما إذا كانت المعلومات المدخلة صحيحة للمستخدم، سوف يقوم بعرض صفحة adminsection ، وهذا سنتحدث عنه في الدرس التالي.
الآن سنكتب Code التحقق من إدخال المعلومات كالتالي :
كود PHP:
<% Name=Request.form("Name"'admin.asp القيمة من النموذج في  ، Name  سيستقبل المتغير 
Password=Request.form("Password") '
admin.asp القيمة من النموذج في  ، Password  سيستقبل المتغير 


   
If    Name ""   Then ' 1.   يساوي فراغ ، أي لم يدخل المستخدم قيمة في النموذج لاسم المستخدم   Name  إذا كان 
         response.redirect ("admin.asp?error=Name_Null") '   
Name_Null مع إرسال الخطأ admin.asp  ارجع إلى صفحة 

   
Else
         If    
Password ""   Then '2.   يساوي فراغ ، أي لم يدخل المستخدم قيمة في النموذج للرقم السري    Password  إذا كان  
                response.redirect ("admin.asp?error=Pass_Null")    '  
Pass_Null مع إرسال الخطأ admin.asp  ارجع إلى صفحة 
         
         
Else ' 3.   إذا كان اسم المستخدم متوفر والرقم السري متوفر ، حقق الأوامر التي بالأسفل 

                %><!--#include file="connection.txt" --><%

                SelectSql = "Select * from admin where name = '"& Name &"'  ' 
Admin تحقق من وجود اسم المستخدم في جدول الإداريين 
                set rs
=ADO.execute (SelectSql)

                If    
rs.EOF    Then  '4.  Name أي لا يوجد سجل في الجدول يحتوى على اسم المستخدم يساوي القيمة الموجودة في  EOF  يساوي rs  إذا كان 
                      response.Redirect ("admin.asp?error=Name_Entry") '  
Name_Entry  مع إرسال الخطأ admin.asp  ارجع إلى صفحة 
  
                 
Else 
                       If    
rs("pass")   <>   password    Then  '5. لا يساوي  ، أي لم يدخل المستخدم رقم سري صحيح موجود في القاعدة  rs("pass")  إذا كان 
                             response.redirect ("admin.asp?error=Pass_Entry")  '  
Pass_Entry مع إرسال الخطأ admin.asp  ارجع إلى صفحة 

                       
Else '6.   أما إذا كان الرقم السري لاسم المستخدم المدخل صحيح 

                             Name_Cooky= request.******s("Name")  '  
Name_Cooky افتح كوكيز الاسم  وضعه في المتغير 

                             
If    Name_Cooky  <>  Name   Then '7.   اختبر الكوكيز ، هل يساوي الاسم المدخل في النموذج   
                                    response.******s ("Name")  =  Name ' 
إذا لم يكون مساوي له ، فضع الاسم الجديد من النموذج في الكوكيز 

                             End 
IF
                  
                             
response.Redirect ("adminsection.asp")   انتقل إلى صفحة إدارة الموقع

                       End 
If

                
End If

           
End If
    
End If
%> 
كما ترون، الصفحة تحتوي فقط على كود لغة ASP ، ولا تحتوي على كود لغة html ، لأنها لن تعرض شيئا.
سأقوم الآن بشرح الـ Code ، جزئا جزئا ، وسوف ترون كيف أن الأمر سهل.
استقبال القيم من نموذج إدخال اسم المستخدم والرقم السري : admin.asp
كما هو واضح سيستقبل هذا الجزء ("Request.form("Name اسم المستخدم من نموذج الإدخال، وسيضع القيمة في المتغير Name
وسيستقبل هذا الجزء("Request.form("Password الرقم السري من نموذج الإدخال، وسيضع القيمة في المتغير Password
كود PHP:
Name=Request.form("Name"'admin.asp القيمة من النموذج في  ، Name  سيستقبل المتغير 
Password=Request.form("Password") '
admin.asp القيمة من النموذج في  ، Password  سيستقبل المتغير 
شرح لشروط التحقق من صحة المعلومات المدخلة في النموذج
1. If Name = "" Then: هذا الجزء سيتحقق إذا كان اسم المستخدم يساوي فراغ أي لم يدخل المستخدم اسما في نموذج الإدخال، إذا كان كذلك نفذ الأمر التالي:
("response.redirect ("admin.asp?error=Name_Null ، أي انتقل إلى ملف admin.asp إذا كان اسم المستخدم يساوي فراغ، وأرسل إليه كذلك متغير اسمه error يحتوى على قيمة تساوي Name_Null ، للدلالة على وجود خطأ وهو عدم إدخال اسم المستخدم في النموذج.
الأمر respons.redirect ، تعني انتقل إلى صفحة معينة. ويجب تذكر عند استخدام هذا الأمر في أمثلة أخرى في المستقبل ، يجب أن يكون فوق <html> ، وبما أن هذه الصفحة لا تحتوي على <html> فليس علينا أن نبالي الآن. ثم نكتب بين الأقواس، اسم الملف المراد الانتقال إليه، وهو في مثالنا هذا (admin.asp).
وأردنا أن نرسل مع الملف متغير للدلالة على وجود خطأ. فكتبنا error=Name_Null ، أي أرسل متغير يحوي القيمة Name_Null ، وتستطيعون الرجوع للدرس السابق لاحقا لمراجعة كيفية استقبال هذا الخطأ والتعامل معه.
إذا كان Name لا يساوي فراغ ، سوف ينتقل للتحقق من الشرط التالي رقم 2.
كود PHP:
If    Name ""   Then ' 1.   يساوي فراغ ، أي لم يدخل المستخدم قيمة في النموذج لاسم المستخدم   Name  إذا كان 
         response.redirect ("admin.asp?error=Name_Null") '   
Name_Null مع إرسال الخطأ admin.asp  ارجع إلى صفحة 
2. If Password = "" Then : هذا الجزء يتحقق إذا كان الرقم السري يساوي فراغ أي لم يدخل المستخدم الرقم السري في نموذج الإدخال. فعند تحقق هذا الشرط سيتم تنفيذ الشرط التالي:
("response.redirect ("admin.asp?error=Pass_Null ، أي انتقل إلى ملف admin.asp إذا كان الرقم السري يساوي فراغ، وأرسل إليه كذلك متغير اسمه error يحتوى على قيمة تساوي Pass_Null ، للدلالة على وجود خطأ وهو عدم إدخال الرقم السري في النموذج.
إذا كان Password لا يساوي فراغ، سوف ينتقل إلى تحقيق الأمور التي تحت Else رقم 3
كود PHP:
Else
         If    
Password ""   Then '2.   يساوي فراغ ، أي لم يدخل المستخدم قيمة في النموذج للرقم السري    Password  إذا كان  
                response.redirect ("admin.asp?error=Pass_Null")    '  
Pass_Null مع إرسال الخطأ admin.asp  ارجع إلى صفحة 
3. سوف ننتقل الآن بعد Else إلى التحقق من توافق المعلومات المدخلة في النموذج مع المعلومات الموجودة في قاعدة البيانات. أي هل اسم المستخدم والرقم السري موجودان في قاعدة البيانات أم لا.
فنتصل أولا بقاعدة البيانات، بإضافة ملف الربط (Connection.txt) بواسطة خاصية الإدراج Include File .
ثم نكتب أمر البحث عن اسم في ملف admin ، بحيث يساوي اسم المستخدم المدخل في النموذج ، فأضفنا الشرط "'"& where name = '"& Name
أي استخرج لي سجلا من جدول admin ، بحيث يكون الاسم في السجل يساوي الاسم المدخل في النموذج . حيث أن where name = هذا هو الاسم في السجل، وهذا '"& Name &"' الاسم من النموذج.
كود PHP:
SelectSql "Select * from admin where name = '"Name &"'  ' Admin تحقق من وجود اسم المستخدم في جدول الإداريين 
set rs=ADO.execute (SelectSql) 
4. If rs.EOF Then : يتحقق هذا الشرط إذا كان المتغير rs (وهذا من نوع خاص لاستقبال البيانات من قاعدة البيانات) يساويEOF :End Of theFile ، أي أن المتغير منتهي ولم يسترجع أي سجل من الجدول لعدم وجود سجل يساوي الاسم فيه الاسم المدخل في النموذج. فعند تحقق هذا الشرط ، سيتنفذ هذا الأمر: ("response.Redirect ("admin.asp?error=Name_Entry
أي انتقل إلى الملف admin.asp ، وأرسل له متغير error والذي يحوي على القيمة Name_Enry ، للدلالة على وجود خطأ في اسم المستخدم الذي تم إدخاله.
أما إذا كان الملف ليس EOF ، أي أنه يحوي على سجل مسترجع من جدول admin انتقل إلى الشرط رقم 5.
كود PHP:
If    rs.EOF    Then  '4.  Name أي لا يوجد سجل في الجدول يحتوى على اسم المستخدم يساوي القيمة الموجودة في  EOF  يساوي rs  إذا كان 
               response.Redirect ("admin.asp?error=Name_Entry") '  
Name_Entry  مع إرسال الخطأ admin.asp  ارجع إلى صفحة 
5. If rs("pass") <> password Then : يتحقق هذا الشرط من أن الرقم السري المدخل في النموذج يساوي الرقم السري الموجود في الجدول. إذا كانا غير متساويان، سيتحقق الشرط وسينفذ هذا الأمر("response.redirect ("admin.asp?error=Pass_Entry ، أي انتقل إلى صفحة admin.asp بإضافة إلى المتغير error والذي يحوي قيمة Pass_Entry ، ويدل على أن الرقم السري المدخل خطأ.
أما إذا كان الأمر السري المدخل صحيح ، انتقل إلى Else رقم 6
كود PHP:
Else 
        If    
rs("password")   <>   password    Then  '5. لا يساوي  ، أي لم يدخل المستخدم رقم سري صحيح موجود في القاعدة  rs("password")  إذا كان 
                    response.redirect ("admin.asp?error=Pass_Entry")  '  
Pass_Entry مع إرسال الخطأ admin.asp  ارجع إلى صفحة 
6. بعد أن تأكدنا من صحة اسم المستخدم والرقم السري، سنقوم بحفظ اسم المستخدم في متغير ثابت بين الصفحات يسمى كوكي Cooky ، للتأكد فيما بعد في الصفحات الأخرى من أن الشخص قد قام بإدخال اسم المستخدم والرقم السري في البداية.
فسنقوم أولا بقراءة قيمة الاسم من الكوكي بهذا الأمر ("Name_Cooky= request.******s("Nam
فـ ("request.******s("Name_Cooky يعني استخرج لي قيمة الكوكي الذي اسمه Name_Cooky ، فالكلمة request تعني طلب الكوكي. ثم ضعه في المتغير Name_Cooky. ثم سننتقل للشرط السابع.
7 . هنا If Name_Cooky <> Name : سنختبر هل الاسم المدخل في النموذج Name ، يساوي الكوكيز. إذا لم يكن يساوي، احفظ الاسم المدخل من النموذج في الكوكي وستكون القيمة ثابتة بين الصفحات، حتى نعرفه فيما بعد عند التنقل بين الصفحات ونكتب أمر الحفظ بهذه الطريقةresponse.******s("Name") = Name
أي خذ القيمة من Name واحفظها في الكوكي Name . فالكلمة response هنا تعني حفظ القيمة في الكوكي. وهذا الكوكي تنتهي صلاحيته، أي يختفي عند إغلاق المستخدم لصفحات الإنترنت كلها.
وبعد الشرط ، استخدمنا هذا الأمر ("response.Redirect ("adminsection.asp وهو يعني بعد تكوين الكوكي ، الآن يمكنك الدخول على صفحة الإدارة adminsection.asp
فسينقل هذا الأمر المستخدم إلى صفحة adminsection.asp تلقائيا، بعد التأكد من صحة المعلومات وتكوين الكوكي.
كود PHP:
Else '6.   أما إذا كان الرقم السري لاسم المستخدم المدخل صحيح 

       Name_Cooky= request.******s("Name")  '  
Name_Cooky افتح كوكيز الاسم  وضعه في المتغير 

       
If    Name_Cooky  <>  Name   Then '7.   اختبر الكوكيز ، هل يساوي الاسم المدخل في النموذج   
                    response.******s ("Name")  =  Name ' 
إذا لم يكون مساوي له ، فضع الاسم الجديد من النموذج في الكوكيز 

       End 
IF

       
response.Redirect ("adminsection.asp")   انتقل إلى صفحة إدارة الموقع

End 
If 

إعداد: إماراتية





من مواضيع ADMIN في المنتدى
__________________


اقتباس:
لكل كلمة أذن، ولعل أذنك ليست لكلماتي، فلا تتهمني بالغموض
يقول الامام مالك رحمه الله:
إنما هؤلاء أقوام أرادوا القدح في النبي صلى الله عليه وسلم فلم يمكنهم ذلك، فقدحوا في أصحابه حتى يقال رجل سوء ولو كان رجلاً صالحاً لكان أصحابه صالحين.

وقال أبو الوفا بن عقيل رحمه الله:
انظر كيف اختار لمرضه بيت البنت، واختار لموضعه من الصلاة الأب، فما هذه الغفلة المستحوذة على قلوب الرافضة عن هذا الفضل والمنزلة التي لا تكاد تخفى عن البهيم فضلا عن الناطق.

ADMIN غير متواجد حالياً   رد مع اقتباس