مشاريع برمجية PHP
مقدمة
(بسم الله الرحمن الرحيم)
تعلمت البرمجة بإستخدام PHP و تريد أن تعمل بعض المشاريع البرمجية (السكربتات) لتخدم غيرك بها أو لتسهل لك عمليه التطوير و لتكون مشاريعك دينامكيه و سهلت التطور في المستخدم هذه سلسلة من المشاريع البرمجية العربية وهي أول سلسله أو كتاب اطرحه للمستخدم العربي آمل أن يلاقي إعجاب القراء.
السلسلة هي عبارة عن برامج (سكربتات) سوف نقوم ببرمجتها و لكل برنامج (سكربت) كتاب خاص به وهذه السلسلة هي الأولى و سوف يكون برنامجنا الاول سهل جداً و لكن سوف نعمل على تطويره و جعله برنامجاً خارق و هو برنامج اتصل بنا حتى يكون خفيف كأول برنامج .
المشروع الأول
لكل مشروع خطه يتم إتباعها حتى يلاقي النجاح ولذلك سوف نقوم بعمل خطه و تعريف للمشروع الأول و هو برنامج ( سكربت ) أتصل بنا
أولاً : تعريف
يقوم الزائر بطلب الصفحة و تعبئة الحقول بالمطلوب و يضغط على زر الإرسال و بعدها يتم الانتقال إلى الصفحة التالية و هي تعمل على التحقق من الحقول و محتوياتها و بعد التحقق إذا كانت هناك مشكله يتم إرسالها إلى المستخدم لكي يعرف الخطأ و يصححه و إذا كان التحقق ناجح يتم إرسال رسالة إلى صاحب البريد الإلكتروني ويتم إرسال نص بأنه العملية قد نجحت.
ثانياً : خطة العمل
1 - تصميم صفحة الأولى و هي صفحة التعبئة و يتم برمجتها و تصميمها ب HTML
2 – يتم برمجة صفحة التحقق و الإرسال ب PHP
3 – تجربة البرنامج و التحقق من كل الخصائص
4 – تصحيح المشاكل و الأخطاء البرمجية ( إن وجد )
بهذا قد سهلنا علينا كثيراً في عمل البرنامج و فهمنا طريقة عمله و كيف برمجتة من البداية إلى النهاية
نبدأ بإسم الله في إتباع خطة العمل
ملف index.html
نفتح محرر النصوص الخاص بكاتبة الاكواد او بإستطاعتنا إستعمال المفكرة ( Notepad ) وهو مدرج مع الويندوز ( Windows ) بكامل إصدارته و ذلك عن طريق
Start -> all program -> Accessories -> Notepad
ونقوم بكتابة السطور الموضحة في الصورة التالية :
أكواد HTML بسيطة ولا تحتاج إلى شرح و سوف تظهر الصفحة في المتصفح كما في الصورة التالية:
الصفحة لا توجد بها أي صور تجميليه او ألوان يمكنكم التعديل على التصميم و جعله أفضل ولكن لا تغير من البنية و المطلوب منه
ملف send.php
في ملف index.html جعلنا من خصائص الفروم ان يرسل المعلومات إلى ملف send.php و الذي سوف يكون محتوى عبارة عن اكواد php لتتحقق من المدخلات و إرسال النتيجة وفي الصورة التالية كود الصفحة
عزيزي القارئ لا تخف من الأكواد إن كنت مبدأ في PHP سوف نقوم بشرح كل سطر من الملف
1 – وسم الفتح ويكون في أول الملف
3 - 6 – وضح حقول فروم الرئيسية في متغيرات
9 – 15 – قمنا بعمل دالة الشرطية للتحقق من كتابة الأسم في النموذج
17 – 39 – دوال شرطية للتحقق من كتابة حقول النموذج و إرسال النتيجة إلى المستخدم
41 – و هنا هو الأهم هذه الدالة تسمح بإرسال الرسائل من الخادم إلى البريد المذكر و هو webmaster@wataniq8.com تستطيع تغيره إلى بريدك حتى ترسل لك الرسالة
و بعده يكون عنوان الرسالة و في الأخير نص الرسالة و قد جعلنا الدالة في متغير حتى نتحقق من إرسال الرسالة أم فشل
تنبيه : هذه الدالة لا تعمل على اللوكال هوست ( local host ) أي على جهاز المستخدم يجب إستعمالها على سيرفر في الإنترنت حتى تعمل بنجاح .
43 – 50 و هذه الدالة الشرطية تعمل على التحقق من إذا تم إرسال الرسالة أم فشل في ذلك و يتم إرسال النتيجة إلى المستخدم بعد التحقق وفي الدالة تجد else حيث ترسل النتيجة إذا كانت النتيجة الأولى لم تعرض أي نجاح العملية
تجربة البرنامج
بعد عمل الأكواد و حفظها نأتي إلى أصعب مرحله إلا و هي التحقق من البرنامج و تجربته و تحسين من وضعه و ترقيع الأخطاء إن وجد
عملت التطبيق على السيرفر الشخصي اللوكال هوست عن طريق الرابط
http://localhost/cus/index.html
وسوف يظهر هذا النموذج في المتصفح
الآن لنجرب عدم كاتبة أي شيء في الحقول و إرسال النموذج عن طريق الضغط على زر أرسل
سوف نتطهر هذه النتيجة
وهنا يبين لنا فشل عملية الإرسال وذلك إننا لم نقم بكتابة الحقول و من بينها حقل الأسم جرب كتابة الأسم فقط و أرسل سوف نظهر نفس الرسالة بفشل العملية ولكن عدم كتابة حق البريد الإلكتروني
جرب الآن كتابة جميع الحقول و إرسالها
سوف نظهر هذه الرسالة إن كنت على سيرفر شخصي :
ولكن ماذا ظهر مع نتيجة الإرسال لقد ظهر لنا خطأ بعد إتاحة الدالة في السيرفر و لتفادي هذه الخطأ نقوم بإضافة "@" قبل دالة الإرسال لتصبح :
وبعد التعديل سوف تظهر لنا فقط هذه الرسالة " لم يتم الإرسال بنجاح" و التي تفيد بعد إرسال الرسالة و ذلك من الخادم السيرفر ولكن لو كنا على موقعنا الخاص سوف تقوم بالإرسال بنجاح.
لقد انتهينا من البرمجة و عمل أول مشاريعنا ولكن نحتاج إلى تطوير البرنامج و تخفيف منه بعض الأكواد و إضافة مميزات جديدة له
في عملية التحقق من كتابة الحقول يتم التحقق من حقل حقل وذلك يجعل العملية معقده و بطيء ولكن هناك طريقة لاختصار الاكواد :
انظر كيف اختصرنا أربع دوال شرطية في واحده و ذلك يجعل من العملية أسرع و أفضل
ولقد عملنا على التحقق من الحقول عن طريق إضافة
Or
بعد كل متغير حيث يعمل على التحقق من واحد تلوى الآخر و من ثم إظهار النتيجة
ولكن هنا نواجه بعض المشاكل مثل يجب على المستخدم الذهاب إلى بريده و التحقق من إرسال الرسائل و قد لا ترسل الرسائل من السيرفر لذلك سوف نطور من برنامجنا و نجعله يرسل المعلومات إلى قاعدة البيانات و عمل ملف الأدمن للتحقق من الرسائل و قراءه محتوياتها بسهولة
دعم قاعدة البيانات Mysql
أولا نقوم بإنشاء قاعدة بيانات جديدة للتطبيق أنا أسميتها CUS ونقوم بإضافة هذا الجدول للقاعدة
وهذا شرح للأكواد
1 – إنشاء جدول بأسم mail
2 – حقل id و هو يحمل رقم فريد لكل رسالة وهو مفتاح الجدول
3 – حقل الأسم و يحمل نص يحمل 255 حرف كما هو موضح
4 – حقل البريد ويحمل نص يحمل 255 حرف
5 – حقل العنوان ويحمل 255 حرف
6 – نص الرسالة ونوعه Text
بعد إنشاء الجدول نقوم بتعديل اكواد ملف send.php ليصبح هكذا
في السطر 10 – 11 قمنا بالاتصال بالقاعدة
و 21 – 22 قمنا بإضافة المعلومات إلى القاعدة
و نقوم بتجربة البرنامج حيث يتم إرسال الرسالة إلى قاعدة البيانات ولكن يبقى مشاهدة محتويات الرسالة عن طريق القاعدة و يتم ذلك بإنشاء ملف admin.php وهو ملف المدير للإطلاع على الرسائل وسوف يكون محتواه هكذا :
ملف admin.php
نقوم بعرض الصفحة في المتصفح وسوف يكون الرابط
http://localhost/cus/admin.php
والنتيجة في المتصفح :
وبهذا نكون قد انتهينا من ملف المدير و تصفح الرسائل
ولكن البرنامج يحتاج إلى حماية فهو غير محمي و هذه الخطوة مهمة لترفع من قوة برنامج تخيل عندما يقوم شخص بكتابة الحقول بمر Sql أو كتابة اكواد Html & JavaScript و بهذا يتم اختراق البرنامج و يترتب على ذلك مشاكل كثيرة منها حذف القاعدة و محتوياتها أو سرقة الكوكيز من المدير و غيرها من وسائل الاختراق
ولنمنع ذلك يجب علينا التحقق من الحقول بطريقة أفضل من التحقق فقط من إذا كانت خالية ام لا
لنفكر ماذا يجب علينا أن نحمي و كيف هي الطريقة
اولاً يجب أن نحمي الحقول من كتابة اكواد الاج تي ام ال و ذلك عن طريق دالة addslashes
وبهذا نحمي برنامجنا ولكن قد يقوم الزائر بإضافة صيغة خاطئة للبريد و للتحقق من الصيغة نقوم بإضافة هذه الاكواد ومنها نتحقق من الصيغة ونحمي برنامجنا
بهذا نكون قد عملنا الحماية اللازمة للبرنامج جرب كتابة البريد الإلكتروني بطريقة خطاءة انظر كيف يعطيك النتيجة .
تطوير admin.php
ماذا يحدث لو كثرة الرسائل لن تستطيع تصفح الرسائل لكثرتها لذلك يجب علينا مسح الرسائل و ذلك يجب علينا إضافة خاصية جديدة للبرنامج لحذف الرسائل ويتم ذلك بإضافة هذه الأكواد إلى الملف :
وبهذا نتيح لبرنامجنا حذف الرسائل الغير مرغوبة.
النهاية
انتهينا من برمجة برنامج اتصل بنا بمميزات جيدة ولكن اعلم انه غير مكتمل بل يجب حماية منطقة المدير و كذلك من السبام من إرسال الرسائل و يتم ذلك بإضافة أرقام للتحقق من التطابق و بعد ذلك يتم إرسالها و هدف هذه السلسلة هي لعمل المشاريع البرمجية و الترتيب لها و تطويرها للمبدئيين وكلمة أخيره لا اسمح بطباعة الكتاب و توزيعه بغير أذن و يجب عن النقل ذكر الأسم و الحقوق
www.wataniq8.com
ولقد قمت بوضح الشرح في كتاب pdf تستطيح تحميلة من هنا
وترقبو تكملة السلسلة ببرنامج آخر
يرجى عن النقل ذكر المصدر
اخوكم طلال