الحاسب الآلي · الصف الثاني الثانوي · الترم الأول
لغة HTML وPHP وتطبيقات تصميم مواقع الويب
لغة HTML وPHP وتطبيقات تصميم المواقع: إعداد مجلدات وصفحات المشروع، وخصائص HTML ووسومها والربط بين الصفحات، وبرنامج Expression Web، وصفحة Header.php، ومتغيرات PHP وثوابتها وأنواع بياناتها، وصفحة الاتصال بقاعدة البيانات.
آخر تحديث: · كيف نراجع المحتوى
مقدمة
- الشعبة: مشترك (كل المسارات)
- الوحدة: الوحدة الثالثة: إنشاء صفحات موقع “قاموس مصطلحات الكمبيوتر المصور”
- الموضوع: الأول
صممنا الصفحات بـ HTML وCSS، وأنشأنا قاعدة البيانات. والآن نتعلم لغة PHP التي تربط بين الاثنين، فتجعل الصفحة تتغير تلقائيًا حسب البيانات، بدل أن نكتب كل مصطلح يدويًا.
أهداف التعلم
- أن تعد ملفات ومجلدات المشروع، وتحدد وظيفة كل صفحة في الموقع.
- أن تتعرف لغة الترميز HTML، وتنشئ صفحة ويب بكودها، وتربط بين صفحتين.
- أن تشرح مكونات الشاشة الرئيسة لبرنامج Expression Web، وتوظفه في الربط بين صفحات الموقع.
- أن تتعرف لغة البرمجة PHP: المتغيرات والثوابت وأنواع البيانات وأوامر الطباعة.
- أن تنشئ صفحة الرأس Header.php وصفحة الاتصال بقاعدة البيانات.
شرح الدرس
أولًا: إعداد ملفات ومجلدات المشروع
- ننشئ مجلدًا للمشروع باسم
Dictionaryداخل المجلدhtdocsفي حزمة XAMPP، ونضع بداخله مجلدات فرعية لتصنيف الملفات (مثل مجلد الصورimagesومجلد صور المصطلحاتpic). - صفحات الموقع:
| الصفحة | وظيفتها |
|---|---|
Index.php | الصفحة الرئيسة وواجهة الموقع |
Add_term.php | إضافة مصطلح جديد |
Search_term.php | البحث عن مصطلح وعرض بياناته |
Edit_term.php | تعديل أي بيان من بيانات مصطلح معين |
Del_term.php | حذف مصطلح معين |
Help.php | معلومات حول كيفية التعامل مع الموقع |
Connection.php | فتح اتصال بقاعدة البيانات على جهاز الخادم |
Header.php | صورة البانر (Banner) أعلى كل الصفحات والارتباطات التشعبية (Hyperlinks) بجميع الصفحات |
ثانيًا: لغة الترميز HTML
HTML لغة ترميز تُستخدم في إنشاء صفحات ويب ثابتة تُحفظ بامتداد .htm أو .html، ويعرضها أي مستعرض إنترنت ويترجم أكوادها.
خصائص HTML:
- الأوامر (Tags) توضع بين العلامتين
< >. - معظم الأوامر لها بداية (فتح)
<...>ونهاية (إغلاق)</...>. - يبدأ الكود بـ
<html>وينتهي بـ</html>.
| الوسم | وظيفته |
|---|---|
<html> ... </html> | جميع محتويات الصفحة |
<head> ... </head> | رأس الصفحة |
<title> ... </title> | عنوان الصفحة الذي يظهر في شريط المستعرض |
<body> ... </body> | محتوى الصفحة الذي يظهر على الشاشة |
حفظ كود HTML: يُحفظ بأي اسم امتداده .htm أو .html، ويكون نوع الملف نصيًا (Text)، ويفضل استخدام برنامج المفكرة (Notepad).
مثال (test1.html):
<html>
<head>
<title>My First Web Page</title>
</head>
<body>
<p align="center">مرحبًا بك في قاموس مصطلحات الكمبيوتر</p>
<img src="images/pc.jpg" width="200" height="150">
<a href="test2.html">انتقل إلى الصفحة الثانية</a>
</body>
</html>
| الكود | الشرح |
|---|---|
<p align="center"> | فقرة جديدة، والخاصية align="center" تعني توسيط النص حتى إغلاق الوسم </p> |
<img src="..."> | إدراج صورة؛ src اختصار Image Source أي مصدر الصورة، ويُكتب بعدها مسار الصورة واسمها، ومعها خاصيتا العرض width والارتفاع height |
<a href="...">نص</a> | ارتباط تشعبي ينقل إلى العنوان المكتوب بعد href عند النقر على النص أو الصورة |
ويُكتب النص في <body> افتراضيًا من اليسار؛ لأنه الاتجاه الافتراضي للكتابة على شاشة المستعرض.
ثالثًا: برنامج Expression Web
برنامج Microsoft Expression Web 4 ينشئ مواقع وصفحات ويب من خلال واجهة سهلة بدلًا من كتابة أكواد HTML يدويًا، ويمكن من خلاله إدراج النصوص والصور والربط بين الصفحات.
مكونات الشاشة الرئيسة:
| المكون | وظيفته |
|---|---|
| شريط القوائم (Menu Bar) | يضم أوامر البرنامج |
| نافذة قائمة المجلدات (Folder List) | تعرض ملفات ومجلدات الموقع |
| نافذة الخصائص (Tag Properties) | تعرض خصائص الوسم المحدد وتعدلها |
| مكونات موقع الويب (Web Site component) | مساحة العمل التي تعرض الصفحة |
| نافذة صندوق الأدوات (Toolbox) | تضم عناصر يمكن إدراجها في الصفحة |
| نافذة أنماط التطبيق (Apply Style) | لتطبيق التنسيقات على العناصر |
وتتميز هذه التطبيقات بخاصية WYSIWYG (What You See Is What You Get)؛ أي ما تراه أثناء التصميم هو ما يظهر في المستعرض.
رابعًا: صفحة الرأس Header.php
تحتوي على الأجزاء المتكررة في جميع صفحات الموقع: صورة Banner في أعلى كل صفحة، وتحتها أسماء الصفحات (الرئيسة – إدخال مصطلح – بحث عن مصطلح – تعديل – حذف مصطلح – مساعدة) مرتبطة بصفحاتها.
<div>
<img src="images/banner.jpg" width="900" height="150">
</div>
<div align="right">
<a href="index.php">الرئيسة</a>
<a href="Add_term.php">إدخال مصطلح</a>
<a href="Search_term.php">بحث عن مصطلح</a>
<a href="Help.php">مساعدة</a>
</div>
- الوسم
<div>ينشئ مقطعًا (قسمًا) في الصفحة. اختصار Non-Breaking Space، ويترك مسافة واحدة.- نضمّن صفحة الرأس في كل صفحة بالأمر
<?php include("Header.php"); ?>؛ فإذا عدلناها تغير الرأس في كل الصفحات.
خامسًا: لغة PHP
يُكتب كود PHP بين <?php و?>، ويُنفذ على جهاز الخادم، وتنتهي كل جملة بفاصلة منقوطة ;، ويُحفظ الملف بامتداد .php.
المتغيرات: مخازن في الذاكرة تتغير قيمها أثناء التنفيذ.
- يبدأ اسم المتغير بالعلامة
$مثل$user_nameو$A123و$Password. - يفضل أن يكون الاسم معبرًا عن محتواه، وعلامة التخصيص هي
=. - لا نعلن عن نوع المتغير؛ فاللغة تحدده من القيمة المخصصة له.
- المتغيرات والثوابت حساسة لحالة الأحرف؛ فـ
$Nameغير$name.
الطباعة: نستخدم echo أو print، ونجمع بين أكثر من نص أو متغير بالنقطة .:
<?php
$name = "Mohamed";
echo "my name is $name"; // علامتا تنصيص مزدوجتان: تطبع my name is Mohamed
echo 'my name is $name'; // علامتا تنصيص مفردتان: تطبع my name is $name
echo "my name is " . $name; // النقطة تربط النص بقيمة المتغير
?>
أنواع البيانات:
| النوع | الوصف | مثال |
|---|---|---|
| String | حرفي | "Mohammad" |
| Integer | عددي صحيح | 123 |
| Double | عددي يقبل الكسور العشرية | 1.23 |
| Boolean | منطقي | True / False |
والدالة gettype() تطبع نوع المتغير؛ فإذا لم نخصص للمتغير قيمة كان نوعه NULL (فارغ):
<?php
$U_name = "Ali";
echo gettype($U_name); // string
$price = 1.23;
echo gettype($price); // double
?>
الثوابت: مخازن في الذاكرة لها اسم وقيمة ثابتة لا تتغير أثناء التنفيذ، وتُعرَّف بالدالة define:
<?php
define('name', 'Mohamed');
echo name; // تطبع Mohamed (بدون علامة $)
?>
وفي الإصدارات القديمة من PHP كان يمكن جعل الثابت غير حساس لحالة الأحرف بإضافة true معاملًا ثالثًا: define('Constant Name', Value, true);، وقد أُلغيت هذه الإمكانية في الإصدارات الحديثة.
سادسًا: صفحة الاتصال بقاعدة البيانات
تُستدعى في بداية كل صفحة تقوم بعملية على قاعدة البيانات (إضافة أو بحث أو تعديل أو حذف). وللاتصال أربعة متطلبات أساسية: اسم جهاز الخادم، واسم المستخدم، وكلمة المرور، واسم قاعدة البيانات.
<?php
$server = "localhost"; // اسم جهاز الخادم المضيف لقاعدة البيانات
$username = "root"; // اسم المستخدم
$password = ""; // كلمة المرور
$database = "dbdictionary"; // اسم قاعدة البيانات
$connect = mysqli_connect($server, $username, $password, $database)
or die("لم يتم الاتصال بقاعدة البيانات");
?>
- إذا نجح الاتصال كانت قيمة
$connectصحيحة (True)، وإلا تنفذdieفتعرض رسالة الخطأ وتوقف الصفحة. - في الكتاب المدرسي تُكتب الدالتان القديمتان
mysql_connectثمmysql_select_dbلاختيار قاعدة البيانات؛ وقد حُذفتا من PHP بدءًا من الإصدار 7، فتؤديmysqli_connectالعمل نفسه وتستقبل اسم القاعدة معاملًا رابعًا.
للاستزادة (إثراء خارج الكتاب): المصفوفات والحلقات
- المصفوفة تخزن عدة قيم في متغير واحد:
$terms = ["المعالج", "الذاكرة"];ونصل إلى العنصر الأول بـ$terms[0]. - المصفوفة الترابطية تستخدم أسماء (مفاتيح) بدل الأرقام:
$term = ["ar" => "المعالج", "en" => "Processor"];. - الحلقة
foreachتمر على كل عنصر في المصفوفة، ومع قاعدة البيانات نستخدمwhileمعmysqli_fetch_assoc()لعرض الصفوف. requireيوقف الصفحة إذا لم يجد الملف، بينماincludeيعرض تحذيرًا ويكمل.- التعليق من سطر واحد يبدأ بـ
//.
أمثلة وتطبيقات
صفحة PHP تستخدم الرأس والاتصال:
<?php
include("Header.php");
include("connection.php");
$result = mysqli_query($connect, "SELECT COUNT(*) AS total FROM terms");
$row = mysqli_fetch_assoc($result);
echo "<p>يضم القاموس حاليًا " . $row["total"] . " مصطلحًا.</p>";
?>
ملاحظات مهمة
- ملف
.phpلا يعمل بفتحه مباشرة في المتصفح؛ يجب أن يمر عبر خادم يدعم PHP (مثل Apache في XAMPP) بكتابةlocalhost/Dictionary/index.php، فالخادم ينفذ الكود ويرسل HTML الناتج. - أكثر أخطاء المبتدئين شيوعًا نسيان الفاصلة المنقوطة أو علامة الدولار
$. - الثابت يُستدعى باسمه دون علامة
$، ولا تتغير قيمته بعد تعريفه.
المفاهيم الأساسية
- HTML: لغة ترميز لصفحات ثابتة، أوامرها (Tags) بين
< >، وأقسامها html وhead وtitle وbody. - Expression Web: تطبيق لإنشاء المواقع بواجهة رسومية بخاصية WYSIWYG.
- Header.php: صفحة الأجزاء المتكررة (البانر والارتباطات)، وتُضمَّن بـ include.
- المتغير يبدأ بـ
$وقيمته تتغير، والثابت يُعرَّف بـdefineوقيمته ثابتة. - أنواع البيانات: String وInteger وDouble وBoolean، و
gettypeتعرض النوع. - متطلبات الاتصال: اسم الخادم، واسم المستخدم، وكلمة المرور، واسم قاعدة البيانات.
ملخص الدرس
نبدأ بإنشاء مجلد المشروع Dictionary داخل htdocs وتحديد صفحات الموقع. ولغة HTML تنشئ صفحات ثابتة بأوامر بين علامتي < > لها فتح وإغلاق، وتُحفظ بامتداد html، ونربط بين الصفحات بالوسم <a href>، ويسهّل برنامج Expression Web ذلك بواجهة رسومية. وصفحة Header.php تضم البانر وروابط الصفحات وتُضمَّن في كل صفحة. ولغة PHP تُنفذ على الخادم، ومتغيراتها تبدأ بـ $ ولا يُعلن عن نوعها، وأنواع بياناتها String وInteger وDouble وBoolean، ونطبع بـ echo أو print، ونعرّف الثوابت بـ define. أما صفحة الاتصال فتحتاج إلى اسم الخادم واسم المستخدم وكلمة المرور واسم قاعدة البيانات.
أسئلة للتدريب
- اذكر وظيفة كل من الصفحات: Add_term.php، Search_term.php، Header.php، Connection.php.
- اذكر خصائص لغة HTML، واكتب الهيكل العام لصفحة ويب.
- اشرح وظيفة:
<p align="center">،<img src>،<a href>، . - عدد مكونات الشاشة الرئيسة لبرنامج Expression Web.
- ما قواعد تسمية المتغيرات في PHP؟ وما الفرق بين المتغير والثابت؟
- ما ناتج
echo 'my name is $name';وما ناتجecho "my name is $name";إذا كانت$name = "Mohamed"؟ - اذكر أنواع البيانات في PHP مع مثال لكل منها.
- ما المتطلبات الأربعة للاتصال بقاعدة البيانات؟