دروس استاذ بلاك مان في PHP فيديو الجزء الرابع
نواصل دروس دورتنا في PHP من الدرس 20 حتي الدرس 28
20- النماذج forms الجزء الاول
ما معنى form ?
المثال يتكون من صفحة html موجود بها نموذج مكون من خانتين و زر الخانة الأولى بها الاسم و الثانية العنوان و الزر هو Submit وظيفة هذا الزر إرسال المعلومات الموجودة في خانة الاسم و خانة العنوان إلى صفحة مكتوبة بلغة php
اسم ملف صفحة ال html هو form_send.html
اسم ملف صفحة ال php هو form_receive.php
تستقبل صفحة ال php المعلومات المرسلة لها من صفحة ال html و تستخدمها وفقا لما يريد المبرمج
كيفية عمل الform
أقل attributes يوضع داخل ال form tag هما action و method ال method المتاحة إما post و إما get
الفرق بين post و get
بين ال opening tag و ال closing tag توجد خانات الform و هي ال name ونوعه text ال address و نوعه text وزر submet و نوعهsubmit
عمل بعض ال formating لل form
تجربة ملء ال form و إرسال البيانات إلى صفحة php
النتيجة لا يظهر شئ لأننا لم نبرمج صفحة ال php بعد
1-21- النماذج الجزء الثاني
استقبال المعلومات في صفحة ال php
مطلوب مراجعة درس ال associative array هذا الدرس مهم للتعامل مع ال form
المتغيرات المبنية بلغة ال php
لإظهار المتغيرات المبنية نستخدم ال code hint
نكتب
$ ثم control+space
و ذلك لبرنامجي div php و برنامج dreamwave
المتغير
$_GET
عبارة عن Associative array
الاسم الذي أعطيناه للخانة name في النموذج في ملف ال html هو uname هذا الاسم يصبح هو ال key في المصفوفة
$_GET
و تصبح القيمة التي وضعها المستخدم في الخانة name هي ال value
مثال لتوضيح استخدام المصفوفة
echo $_GET["uname"];
echo $_GET["address"];
عرض النتائج
يجب مراجعة درس ال foreach لأن الدرس القادم سنستخدم ال foreach مع ال get
2-21- النماذج الجزء الثاني
صياغة ال foreach مع ال get
foreach ( $_GET as $key=>$value){
echo "the key is".$key."the value is".$value,}
هذه الصياغة تستخدم لعرض ما هو الاسم الذي أعطاه لها المبرمج في ملف ال html و ما القيمة التي أدخلها المستخدم في الخانة
هل يمكن اختصار هذه العملية التي قمنا بكتابتها في ال foreach ?
يوجد funnction جاهزة مع php يمكنها الدخول على ال associative array و طباعة كل العناصر داخلها و تستخدم غالبا في التنقيح debugging
الصيغة لهذه الدالة
print_r($_GET)
الشكل الناتج عن تنفيذ أمر print_r()
array([uname]=>ahmed [address]=>123fak street [submit]=>send)
22- تمرين على النماذج
login form صفحة دخول بكلمة مرور
التمرين عبارة عن form بها اسم المستخدم و كلمة السر إذا أدخل المستخدم اسم المستخدم و كلمة المرور بطريقة صحيحة فإن الصفحة ترحب به
و إذا أدخلهما بطريقة خاطئة فإن الصفحة تظهر رسالة خطأ
برمجة ملف ال html
ال method هذه المرة post لأن المعلومت سرية أما حق كلمة السر فهو من النوع password
برمجة ملف ال php
نضيف متغير للاسم يسمى
$name
نضيف متغير لكلمة السر
$password
هذا فقط للتمرين و المفترض في الوضع الطبيعي أن تخزن كلمات السر في قاعدة البيانات
جملة التحقق من اسم المستخدم و كلمة المرور
if($_POST["uname"]==$name and $_POST["upassword"]==$password){
رسالة الترحيب
}
else{
رسالة الخطأ
}
تجربة النتائج
23-الفرق بين post و get
لدينا نموذج و ال method الخاصة به get ,و ملف php الذي سيتسلم معلوما ت النموذج سيقوم فقط بطباعة ما استلمه من النموذج الموجود في ملف ال html
نفذنا النموذج بالضغط على زر send إذا نظرنا إلى ال address bar نجد اسم ملف ال php الذي استلم البيانات من النموذج و كذلك اسم الحقل الخاص بالاسم و اسم الحقل الخاص بكلمة السر يوجد و القيمة التي أدخلها المستخدم في كل منهما و هذا لا يصلح في عمل الأشياء التي تتطلب سرية
تعديل ال method إلى post
تنفيذ النموذج بالضغط على send
ملاحظة الفرق في ال address bar و هو إخفاء المعلومات عن جميع الحقول
نعيد الكود إلى استخدام ال get method لا ننسى عمل refresh
إذا غيرنا المعلومات عن الحقول من ال address bar فإنها تتغير و كأنها مدخلة من النموذج و ذلك في حالة ال get
المرة القادمة التعامل مع ملفات ال php
24-إنشاء الملفات في ال php
الدالة fopen () تستخدم لإنشاء الملفات تطلب معلومتين اسم الملف و يوضع بين quotation
المعلومة الثانية ماذا نريد أن نفعل بالملف بعد الفتح
w و هي اختصار write ووظيفتها تنشئ و تكتب في داخل الملف
إذا كان الملف موجود بالفعل تفتح الملف و تمحو ما كان فيه و تكتب من جديد
w+ للقراءة و الكتابة
r للقراءة و لابد أن يكون الملف موجود لكي تقرأ منه
r+ قراءة و كتابة
a وظيفتها الكتابة في ملف مع الحفاظ على الكتابة القديمة
a+ للكتابة و القراءة
x للتعامل فقط مع الملفات الموجودة إذا كان الملف غير موجود لا تتعامل معه
x+ للقراءة و الكتابة
سوف نستخدم في هذا المثال w
سوف نستخدم متغير و نضع هذه الدالة داخل المتغير
سوف نستخدم fwrite() للكتابة داخل الملف و تتطلب معلومتين أين سنكتب و يحددها المتغير الذيي وضعنا بداخله الدالة fopen()
ثاني معلومة السلسلة التي سنكتبها و لا ننسى إغلاق الملف بعد الكتابة باستخدام fclose() و هي تتطلب اسم الملف فنضع فيها المتغير الذي وضعنا به الدالة fopen()
أهمية استخدام fclose()
للتأكد أن الملف تم إنشاؤه نضع fwrite داخل متغير و نختبر المتغير باستخدام عبارة if
إذا تمت الكتابة في الملف ستنفذ الجملة داخل ال if
التنفيذ و مشاهدة النتائج
25- تمرين على الملفات
عندنا صفحة html بها نموذج سوف نكتب به رسالة و نرسلها إلى صفحة استقبال بها php
هذه الصفحة سوف تضع الرسالة داخل ملف
صناعة النموذج برمجة صفحة html
ال action
ال method
ال textarea يتطلب معلومتين عدد الأسطر و عدد الأعمدة
زر submit
برمجة صفحة ال php
ننشئ متغير و نضع داخله الدالة fopen()
نكتب داخل الملف fwrite() المعلومات داخل ال fwrite() هي
$_POST و اسم المتغير الذي بداخله ال fopen()
التنفيذ و مشاهدة النتائج
26- إنشاء المجلدات في php
ملحوظة
الأستاذ بلاك مان يطلق على المجلد و الملف مصطلح ملف و عليك التمييز بينهما عندما يسميه بالإنجليزية folder
الدالة mkdir() لصناعة المجلد
تجربة الدالة و مشاهدة المجلد الناتج
تسجيل الكود مرة أخرى و ملاحظة الخطأ نتيجة أن المجلد بالفعل موجود مسبقاً
كيف نتلافى هذا الخطأ ؟
نستخدم جملة if ودالة file_exists()
تجربة جملة if ومشاهدة النتائج
إلغاء المجلد و مشاهدة النتائج
يمكن استخدام file_exists() مع أي دالة أخرى مثل fope()
صناعة مجلد داخل مجلد
27- قواعد البيانات
سوف نستخدم mysql
ال mysql موجودة داخل ال wamp server و لا نحتاج إلى تنصيبها فهي منصبة تلقائياً إذا كنا نصبنا ال wamp server
سنبدأ بالتعامل مع جدول واحد
ننشئ الجدول و نخزن فيه المعلومات نسترجع منه المعلومات ثم نتعامل مع عدة جداول و نربطهم مع بعضهم البعض و يسمى الناتج relational database أي قاعدة بيانات علائقية
1-28 إنشاء قاعدة بيانات و إنشاء جدول
أولاً إنشاء قاعدة بيانات نسميها freeforarab ثم ننشئ داخلها جدول يسمى friends الجدول يحتوي على عمودين f_name و l_name
f_name للاسم الأول
l_name للاسم الأخير
سوف نستخدم mysql console
إدخال كلمة المرور
لا يوجد لأنه لم ندخل كلمة مرور حتى الآن لتسهيل التعامل
فقط نضغط enter للدخول
الدخول إلى قاعدة البيانات و ظهور المحث و هو عبارة عن شرطة تنبض مكتوب أمامه كلمة mysql
2-28 تابع إنشاء قاعدة بيانات و إنشاء جدول
حتى ننشئ قاعدة بيانات نستخدم جملة
create database
الصياغة
create database freeforarab ;
عبارة query ok تؤكد أنه تم إنشاء الجدول بطريقة صحيحة بعد ذلك نستخدم جملة use database لأنه يمكن إنشاء عدة قواعد فيجب تحديد أي قاعدة نريد التعامل معها
عبارة database changed تدل على أنه تم اختيار هذه القاعدة للتعامل معها
إنشاء الجداول عن طريق جملة create table
الصياغة
create table friends(****)
حيث نضع مكان النجوم العمودين أول عمود هو الاسم الأول نضع فيه اسم العمود و هو f_name و نوع العمود و هو هنا سلسلسة أو string والنوع الموافق له هو varchart(***) نضع داخل القوسين مكان *** كم عدد حروف هذه السلسلة و بهذا نكون قد انتهينا من إدخال العمود الأول
نضع فاصلة و بالمثل ندخل العمود الثاني فتصبح الصياغة كما يلي
(f_name varchart(50), l_name varchart(50))
للتأكد من إنشاء قاعدة البيانات و الجدول نستخدم
show databases;
disc friends ;
تعليقات
إرسال تعليق