الحاجة أم الإختراع
إخوتي في الله .. نرى في كثير المواقع صفحات بهذا الشكل :
index.php?page=contact
index.php?page=support
index.php?page=hosting
أو ما شابهها من الصفحات ..
بحيث تكون جميع صفحات الموقع بصفحة واحدة كما يظهر بالمتصفح ..
و البعض يظنها برنامج ..
لكنها في الحقيقة إستخدام لنظام الصناديق case في لغة php ..
و تستطيعون رؤية مثال لهذه الصفحات في الروابط التالية :
http://www.haramain-jeddah.org/site/haramain.php?page=1
http://www.haramain-jeddah.org/site/haramain.php?page=2
http://www.haramain-jeddah.org/site/haramain.php?page=3
و الأصل هو ملف http://www.haramain-jeddah.org/site/haramain.php
و سوف أشرح لكم طريقة عمل مثل هذا النوع من الصفحات ..
أنشئ الملف الذي تريد أن تكون جميع الصفحات فيه و كمثال يكون إسمه index.php و أجعله يبدأ بالوسم <?php مع إقفاله بالنهاية بالوسم ?> ..
ضع هذا الأمر بين الوسمين السابقين :
switch ($page){
هنا سنضع الأوامر التالية
}
هذا الأمر هو الذي سوف يقسم الصفحات و سيجعل الوصول لها عن طريق المتغير page ..
حيث سيكون نظام الصفحة بهذه الطريقة :
index.php?page=( هنا إسم الصفحة )
مع ملاحظة أنه يمكن تغيير page إلى أي متغير مثلاً go ..
فيصبح نظام الصفحة :
index.php?go=( هنا إسم الصفحة )
و هكذا ..
بعد وضع الأمر switch ($page){ سوف نبدأ بعمل الصناديق التي تحتوي على الصفحات ..
و في مكان الجملة ( هنا سنضع الأوامر التالية ) ضع هذا الأمر :
case "A";
و يمكن إستبدال A بأي إسم .. مثلاً host أو support أو أي إسم ..
و كذلك يمكن تسميته بإسم عربي .. مثلاً :
case "الصفحة الأولى";
بعد أمر إنشاء الصندوق نبدأ بوضع الأوامر التي نريدها أن تعمل في هذا الصندوق و من خلال الصفحة التي أسميناها A ..
يمكن إستخدام كل أوامر php أو MySql ..
غالباً في حالتنا هذه سنستخدم أوامر php الخاصة بالعرض ..
مثل echo أو print ..
ضع بعد الأمر case "A"; :
echo"هذه الصفحة A";
و يمكن طبعاً إستبدال الجملة السابقة بأي جملة تريد أن تظهر أو أي كود هتمل كامل !! ..
لكن إذا كنت ستستخدم كود هتمل فيجب أن تبدل العلامات " إلى ' ..
مثال :
<font face="Tahoma">
تجعلها :
<font face='Tahoma'>
أو عن طريق وضع \ قبل " مثال :
<font face=\"Tahoma\">
و ذلك حتى لا يتعارض كود الهتمل مع كود ال php ..
بعد أن وضعت ما تريده أن يظهر بالصندوق A ..
يجب علينا إقفال الصندوق و ذلك بالأمر :
break;
إذا سوف يكون كود الملف كالتالي :
PHP:
--------------------------------------------------------------------------------
<?php
switch ($page){
case "A";
echo"<font face=\"Tahoma\">هذه الصفحة A</font>";
break;
?>
--------------------------------------------------------------------------------
لذا فإن وضعنا بالمتصفح العنوان index.php?page=A
سوف تظهر لنا جملة بخط تاهوما محتواها :
هذه الصفحة A
هذا تقريباً أساس الموضوع ..
و على غرار السابق إعمل بقية الصفحات مثلاً :
PHP:
--------------------------------------------------------------------------------
<?php
switch ($page){
case "A";
echo"<font face=\"Tahoma\">هذه الصفحة A</font>";
break;
case "B";
echo"<font face=\"Tahoma\">هذه الصفحة B</font>";
break;
case "C";
echo"<font face=\"Tahoma\">هذه الصفحة C</font>";
break;
}
?>
--------------------------------------------------------------------------------
بالأعلى سوف تكون معنا ثلاث صفحات هي A و B و C ..
و روابطها هي :
index.php?page=A
index.php?page=B
index.php?page=C
أعتقد أن الأمر واضح إن شاءالله ..
أنا متأكد أنه منكم رجل فطن سوف يقول :
يا رضا لكني دخلت الصفحة index.php فقط ووجدتها فارغة !! ..
فأقول له نعم يا فالح ..
لأنه مباشرة عملنا صناديق و لم نضع أمر لإظهار محتوى معين في حالة لم نختر صفحة معينة !! ..
و حل ذلك بسيط أنظر المثال و ستفهم ما أقول :
PHP:
--------------------------------------------------------------------------------
<?php
echo"<font face=\"Tahoma\">
<a href=\"index.php?page=A\">الصفحة A</a><br>
<a href=\"index.php?page=B\">الصفحة B</a><br>
<a href=\"index.php?page=C\">الصفحة C</a>
</font><br><br>";
switch ($page){
case "A";
echo"<font face=\"Tahoma\">هذه الصفحة A</font>";
break;
case "B";
echo"<font face=\"Tahoma\">هذه الصفحة B</font>";
break;
case "C";
echo"<font face=\"Tahoma\">هذه الصفحة C</font>";
break;
}
?>
--------------------------------------------------------------------------------
بهذه الشفرة حينما تدخل إلى الصفحة index.php سوف تظهر لك ثلاث روابط أسفل بعض كل رابط سيدخلك للصفحة بداخل الملف ..
صدق من قال في المثال يتضح المقال ..
و هذا أخيراً كود كامل .. جرب أن تضعه بكامله داخل الملف index.php و أنظر كيفية عمله و ستفهم الفكرة بإذن الله :
PHP:
--------------------------------------------------------------------------------
<?php
echo"<center><font face=\"Tahoma\">
<a href=\"index.php?page=name\">الإسم</a> |
<a href=\"index.php?page=email\">البريد الإلكتروني</a> |
<a href=\"index.php?page=homepage\">الصفحة المفضلة </a> |
<a href=\"index.php\">الصفحة الأولى </a>
<br><br>";
switch ($page){
case "name";
echo"<font face=\"Tahoma\" color=\"red\">إسمي هو رضا</font>";
break;
case "email";
echo"<font face=\"Tahoma\" color=\"red\">بريدي الإلكتروني هو reda1@flashmail.com</font>";
break;
case "homepage";
echo"<font face=\"Tahoma\" color=\"red\">صفحتي المفضلة هي شبكة سوالف swalif.net</font>";
break;
}
echo"<br><br>بطاقتي الشخصية - جميع الحقوق محفوظة </font></center>";
?>
--------------------------------------------------------------------------------