الدعم العربي
الدرس العاشر: التحقق من وطباعة محتوى النماذج - نسخة قابلة للطباعة

+- الدعم العربي (https://www.mybbarab.com)
+-- قسم : :: . + تطوير المواقع و المنتديات و لغات برمجة المواقع + . :: (https://www.mybbarab.com/forum-78.html)
+--- قسم : قسم تطوير المنتديات والمواقع ولغات البرمجه (https://www.mybbarab.com/forum-117.html)
+---- قسم : نقاش عام حول PHP و MYSQL (https://www.mybbarab.com/forum-49.html)
+---- الموضوع : الدرس العاشر: التحقق من وطباعة محتوى النماذج (/thread-530.html)



الدرس العاشر: التحقق من وطباعة محتوى النماذج - Pepo - 2007-03-31

بسم الله الرحمن الرحيم
  • متطلبات قبل البدأ :
    • مراجعة الدرس السابق , مع محاولة فعل عدة تطبيقات بإستخدام انواع النماذج
  • اهداف الدرس:
  • التحقق من ان جميع البيانات ممتلئه
  • طباعة البيانات الى المتصفح
  • مثال تطبيقي ( عمل نموذج تسجيل دخول )

ارسال البيانات الى صفحه اخرى :

بعد عملنا لنموذج المعلومات الشخصيه ( اذا لم تستطع عمله , اضغط هنا لتحميل نموذج المعلومات الشخصيه)  نريد ان نرسل هذه البيانات الى صفحه اخرى , لنقوم بمشاهدة هذه البيانات او معالجتها او اي شي اخر , فكيف يتم فعل ذلك , كما تعلمنا سابقا , يمكننا فعل ذلك عن طريق تحديد الصفحه المراد الذهاب اليها في ( FORM ) , لاحظ المثال التالي , ( في مثالنا سوف نذهب الى الصفحه view.php ) :

هذا المثال مدمج مع كود PHP
[صورة: l10e1.gif]

هذا المثال كود HTML فقط

[صورة: l10e2.gif]

لاحظ انه هنا نقوم بالذهاب الى صفحه اخرى , ولكن اذا اردنا الذهاب الى الصفحه نفسها
(طريقة اخرى) قم بكتابة نفس الصفحه , او العباره $PHP_SELF , وهي تؤدي نفس الغرض ( اذا كان نفس الصفحه ) وسوف اشرح لك هذه العباره لاحقا.

التحقق من ان جميع البيانات ممتلئه :

الان لنأتي الى متعة عمل لغة PHP , في نموذجنا , نريد ان نتحقق اذا كان المستخدم قد قام بكتابة جميع البيانات المطلوبه ( كلها ) , اذن انشئ صفحه PHP اسمها view.php , ولنقم بفعل ذلك خطوة خطوة , اولا نريد ان نتحقق من ان المستخدم قام بكتابة اسمه الاول واسم العائله والبريد الالكتروني اكتب في محرر الاكواد التالي :

PHP كود :
<?php
    
if (!$fname)
        {
            echo 
"لم تقم بكتابة اسمك الأول";
            
?>
                <br />
                <a href="lesson9">الرجوع الى الخلف</a>
            <?
        
}
    if (!
$lname)
        {
            echo 
"لم تقم بكتابة اسم العائلة";
            
?>
                    <br />
                    <a href="lesson9">الرجوع الى الخلف</a>
            <?
        
}
    if (!
$email)
        {
        echo 
"لم تقم بكتابة البريد";
            
?>
                    <br />
                    <a href="lesson9.html">الرجوع الى الخلف</a>
            <?
        


لو قمت بالملاحظه , فإننا نستخدم اسماء المتغيرات التي انشئناها في النموذج , ( fname & lname & email ) , اليس ذلك صحيحا ؟ لنكمل التحقق من النموذج

PHP كود :
if (!$sex)
    {
        echo 
"لم تقم بإختيار الجنس";
        
?>
            <br />
            <a href="lesson9.html">الرجوع الى الخلف</a><br />
        <?
    
}
if (!
$read && !$write && !$draw && !$prog)
    {
        echo 
"لم تقم بإختيار هواية";
        
?>
            <br />
            <a href="lesson9.html">الرجوع الى الخلف</a><br />
        <?
    
}
if (!
$lang)
    {
    echo 
"لم تقم بإختيار اللغة";
        
?>
            <br />
            <a href="lesson9.html">الرجوع الى الخلف</a><br />
        <?
    
}
if (!
$skill)
    {
    echo 
"لم تقم بإختيار المهارات";
        
?>
            <br />
            <a href="lesson9.html">الرجوع الى الخلف</a><br />
        <?
    
}
if (!
$info)
    {
        echo 
"لم تقم بكتابة معلومات عن نفسك";
        
?>
            <br />
            <a href="lesson9.html">الرجوع الى الخلف</a><br />
        <?
    
}
?>

الان قم بتشغيل ملف النموذج , ولا تقم بكتابة اي شي , فقط اضغط على زر ( ارسال ) , وسوف تجد ان الصفحه تكتب ما يلي :

[صورة: l10e6.gif]

قد تقول لنفسك , هناك شيئ غير منطقي , وهو اننا طبعنا العباره ( الرجوع الى الخلف ) اكثر من مره ( لكل نوع لم يتم تعبئته ) اليس ذلك صحيحا , ؟ اذن كيف نتخلص من ذلك ؟ نتخلص منه عن طريق العباره exit التي وسبق ان قمنا بمعرفتها في الدرس الدرس السابع: متفرقات عن لغة PHP , نكتب العباره exit , كالتالي :

PHP كود :
<?php
    
if (!$fname)
        {
            echo 
"لم تقم بكتابة اسمك الأول";
            
?>
                <br />
                <a href="lesson9">الرجوع الى الخلف</a>
            <?
            
exit;
        }
    if (!
$lname)
        {
            echo 
"لم تقم بكتابة اسم العائلة";
            
?>
                    <br />
                    <a href="lesson9">الرجوع الى الخلف</a>
            <?
            
exit;
        }
    if (!
$email)
        {
        echo 
"لم تقم بكتابة البريد";
            
?>
                    <br />
                    <a href="lesson9.html">الرجوع الى الخلف</a>
            <?
            
exit;
        } 

الان عندما ينسى المستخدم , سوف يأتي له اي نوع قام بنسيانه فقط , واحدا تلو الاخر , فلو نسي المستخدم كتابة الاسم الاول والاسم الثاني , سيظهر له انه نسي الاسم الاول فقط , هذا ما اعني به ( واحدا تلو الاخر ) .

طباعة البيانات الى المتصفح :

الان , نريد ان نقوم بطباعة ما اختاره المستخدم وعرضه على الشاشه , نفعل ذلك بالطريقه التاليه , افتح محرر الاكواد ( اكمل على الكود السابق ) واكتب التالي :

PHP كود :
        echo "لم تقم بكتابة معلومات عن نفسك";
        
?>
            <br />
            <a href="lesson9.html">الرجوع الى الخلف</a><br />
        <?
        
exit;
    }
    echo 
"<html dir=\"rtl\">";
    echo 
"<head>";
    echo 
"<title> نتيجة معلوماتك الشخصية</title>";
    echo 
"</head>";
    echo 
"<body>";
    echo 
"الأسم هو: ".$fname." ".$lname;
    echo 
"<br /> البريد الألكترونى هو:" .$email;
    echo 
"<br /> الجنس هو:".$sex;
    if (
$read)
        echo 
"<br /> من هواياتك:".$read;
    if (
$write)
        echo 
"<br /> من هواياتك:".$write;
    if (
$draw)
        echo 
"<br /> من هواياتك:".$draw;
    if (
$prog)
        echo 
"<br /> من هواياتك:".$prog;
    echo 
"<br /> لغتك المفضلة هى: ".$lang;
    echo 
"<br />مهاراتك هى: ".$skill;
    echo 
"<br />معلومات عن نفسك: ".$info
?>

قد تسأل التالي : لماذا لم اضع IF شرطيه ( شرطها اذا قام بتعبئة جميع الانواع ) قم بكتابة هذا الكود بداخلها , والجواب هو , لانه استخدمنا اللعباره exit , فلو لم تملئ جميع الحقول سوف يقوم بالخروج من كامل الكود , ولن يقوم بالنظر الى كود الطباعه . ولكن اذا اردت يمكنك استخدام عباره IF يوجد بها الشرط التالي , وفي حالة تحققه يقوم بطباعة جميع محتويات المتغيرات التي قمنا بكتابتها , الشرط هو :

PHP كود :
if( $fname && $lname && $email && $sex && $lang && $skill && $info && ( $read || $write || $draw || $prog ) ) 

وسوف يقوم بفعل نفس الشيئ , وبيدك الاختيار Smile

هناك ملاحظه اخرى , انا متأكد انك قمت بملاحظتها , وهي ان المتغير SKILL , لم يقم بطباعة جميع المهارات التي قمت بإختيارها ( يمكنك اختيار اكثر من مهاره ) , لماذا ؟ الجواب هو لانه يجب ان يكون مصفوفه , وسوف نتطرق للمصفوفات لاحقا وسوف تقوم بمعرفتها بالكامل , ولكن لا تتعجل , فالطريق امامنا طويل جدا Smile

قم بتحميل هذا التطبيق كاملا من هنا


مثال تطبيقي ( عمل نموذج تسجيل دخول ) :

هل قمت بعمل ما فعلناه سابقا ؟ هل قمت بإستيعابه ؟ اذن لنقم بعمل نموذج تسجيل دخول , مثل الدخول الى بريدك الالكتروني , او لوحة التحكم الخاصه بك في احد المنتديات , قم بعمل نموذج لتسجيل الدخول كالتالي :

[صورة: l10e9.gif]

لا تنسى كيفية كتابة حقل كلمة المرور راجع  الدرس التاسع: انواع النماذج وطريقة كتابتها

الان لننظر الى ملف PHP ولنرى كيفية التأكد من صحة كلمة المرور ( لنفرض ان اسم المستخدم هو الدعم العربى ) و ( كلمة المرور هي 123 ) افتح محرر الاكواد واكتب التالي :


PHP كود :
<?php
    $def_user 
="الدعم العربى"//اسك المستخدم
    
$def_pass ="123"// كلمة المرور
    //السطر التالى معناه اذا نسى المستخدم احد الحقول
    
if (!$user || !$pass)
        {
            echo 
"الرجاء تعبئة جميع الحقول";
        }
    
//السطر التالى معناه اذا ادخل المستخدم جميع الحقوق
    
if ($user && $pass)
        {
            
//اذا كان بيانات تسجيل الدخول صحيحة
            
if ($user == $def_user && $pass == $def_pass)
                {
                    echo 
"اهلا بك عزيز ".$user;
                }
                
//السطر التالى اذا ادخل المستخدم كلمة مرور او اسم مستخدم خطأ
            
else
                {
                    echo 
"الرجاء التأكد من صحة البيانات";
                }
        }
    else
        {
            echo 
"الرجاء تعبئة جميع الحقول";
        }
?>

لاحظ ان اسماء المتغيرات في النموذج هي ( user ) و ( pass )

  • سؤال على الدرس :
    • قم بعمل نموذج تسجيل مستخدم جديد , سهل جدا فقط قم بالتفكير قليلا ويمكن عمله , لا تنسى انه يجب على المستخدم كتابة كلمة المرور مرتان للتأكد من صحتها , ولا تنسى ان تقوم بالتحقق من ان جميع البيانات المدخله كامله , واترك الخيال الفكري في هذا النموذج لك  ( مساعده : pass1 و pass2 في النموذج )
  • الـــدرس الــقادم :
    • سوف نتعلم في الدرس القادم الدوال , وهي مفيده جدا جدا , سوف نرى كيفية كتابتها وكيفية استخدامها , ونعمل تطبيقات لها
للأمانة منقول من شبكة ارسن نت