تصميم موقع الويب الخاص بك مع PHP و MySQL


الدرس: اكتشاف سير العمل في موقع مكتوب ب PHP


الصفحة السابقة
ما يجعل نجاح الويب اليوم هو بساطته وسهولة الوصول إليه. لا يحتاج مستخدم الإنترنت المعتاد إلى معرفة " كيف يعمل خلفه ". ولحسن الحظ بالنسبة له.
من ناحية أخرى ، يجب أن يعرف المسؤول عن الموقع مثل المتدرب ، أولاً وقبل كل شيء ، أساسيات عمل موقع الويب. ما هو الخادم والعميل؟ كيف يمكن للمرء جعل موقع واحد ديناميكي؟ ماذا يعني PHP و MySQL؟
هذا الفصل الأول موجود هنا للإجابة على جميع هذه الأسئلة ويظهر لك أنك قادر على تعلم كيفية إنشاء مواقع ويب ديناميكي. سيتم طمأنة جميع القراء لمعرفة أنهم بدأوا في نفس المستوى!

مواقع ثابتة وديناميكية


ونحن نعتبر أن هناك نوعين من المواقع: مواقع ثابتة والموقع ديناميكية .
  • المواقع الثابتة : هذه مواقع صنعت فقط باستخدام لغات HTML و CSS . تعمل بشكل جيد جدًا ولكن لا يمكن تحديث محتواها تلقائيًا: يجب على مالك الموقع (المسؤول عن الموقع) تعديل الكود في الصفحة المصدر لإضافة ميزات جديدة. ليس من العملي للغاية أن تضطر إلى تحديث موقعك عدة مرات في نفس اليوم! لذلك ، تعد المواقع الثابتة مناسبة تمامًا لإنشاء مواقع "عرض" ، على سبيل المثال لعرض أعمالك ، ولكن دون المضي قدمًا. أصبح هذا النوع من المواقع نادرًا بشكل متزايد اليوم ، لأنه عندما نضيف عنصر تفاعل (مثل استمارة اتصال) ، لم نعد نتحدث عن موقع ثابت ولكننا نتحدث عن موقع ديناميكي.
  • المواقع الديناميكية : أكثر تعقيدًا ، فهي تستخدم لغات أخرى بالإضافة إلى HTML و CSS ، مثل PHP و MySQL . يطلق على محتوى هذه المواقع "ديناميكي" لأنه يمكن أن يتغير دون تدخل مشرف الموقع! معظم مواقع الويب التي تزورها اليوم ، هي مواقع ديناميكية. الشرط الأساسي الوحيد لمعرفة كيفية إنشاء مثل هذه المواقع هو معرفة كيفية إنشاء مواقع ثابتة في HTML و CSS .
php
أيقونة PHP
الهدف من هذه الدورة هو تمكينك من إنشاء مواقع ديناميكية بالكامل بنفسك ، خطوة بخطوة. في الواقع ، يمكن أن توفر هذه الميزات أكثر إثارة من المواقع الثابتة. إليك بعض الأشياء التي يمكنك القيام بها:
  • منطقة الأعضاء : يمكن للزائرين التسجيل على موقعك والوصول إلى الأقسام المخصصة لهم ؛
  • منتدى : من الشائع اليوم أن ترى مواقع الويب تقدم منتدى مناقشة لمساعدة بعضهم البعض أو ببساطة قضاء الوقت ؛
  • عداد الزوار : يمكنك بسهولة حساب عدد الزوار الذين قاموا بتسجيل الدخول خلال اليوم على موقعك ، أو حتى معرفة عدد الزوار الذين يتصفحون!
  • أخبار : يمكنك كتابة الأخبار ، وإعطاء الزوار فرصة للكتابة ، والتعليق ، وأكثر من ذلك.
  • رسالة إخبارية : يمكنك إرسال بريد إلكتروني إلى جميع أعضائك بانتظام لتقديم الأخبار لهم وتشجيعهم على العودة إلى موقعك.
بالطبع ، هذه مجرد أمثلة. من الممكن أن تذهب أبعد من ذلك ، حسب احتياجاتك. على سبيل المثال ، جميع مواقع الألعاب عبر الإنترنت تقريبًا ديناميكية. توجد مواقع افتراضية لتربية الحيوانات وألعاب فضائية وغيرها.
لكن ... لا تنخدع. قبل أن تتمكن من الوصول إلى هناك ، عليك أن تقرأ وأشياء كثيرة يجب أن تتعلمها! لنبدأ بالأساسيات: هل تعرف ما يحدث عند زيارة صفحة ويب؟

كيف يعمل الموقع؟


عندما ترغب في زيارة موقع ويب ، فأنت تكتب عنوانه في متصفح الويب الخاص بك ، سواءً كان Mozilla Firefox أو Internet Explorer أو Opera أو Safari أو غير ذلك. لكن ألم تتساءل يومًا كيف وصلت لك صفحة الويب؟
عليك أن تعرف أن الإنترنت عبارة عن شبكة من أجهزة الكمبيوتر. هذه يمكن تصنيفها إلى فئتين.
  • العملاء : هذه هي أجهزة كمبيوتر مستخدمي الإنترنت مثلك. جهاز الكمبيوتر الخاص بك هو في فئة العملاء. يمثل كل عميل زائرًا لموقع الويب. في المخططات التالية ، سيتم تمثيل كمبيوتر العميل بالصورة التالية.
  • الخوادم : هذه أجهزة كمبيوتر قوية تقوم بتخزين وتسليم مواقع الويب لمستخدمي الإنترنت ، أي للعملاء. معظم الناس لم يروا أبدا خادما في حياتهم. ومع ذلك ، تعد الخوادم ضرورية لتشغيل الويب بشكل صحيح. في المخططات التالية ، سيتم تمثيل الخادم بواسطة صورة الشكل التالي.
web dynamique php
في معظم الأوقات ، لا يحتوي الخادم على شاشة: فهو يعمل ويعمل بمفرده دون تدخل بشري ، 24 ساعة في اليوم ، 7 أيام في الأسبوع. قناعة حقيقية بالعمل.
إنه يلخص: يسمى الكمبيوتر الخاص بك بالعميل ، في حين أن الكمبيوتر الذي يمتلك موقع الويب يسمى الخادم . كيف يتواصل الاثنان؟
هذا هو الفرق بين موقع ثابت وموقع ديناميكي. دعونا نرى ما الذي يتغير.
في حالة موقع ثابت
عندما يكون الموقع ثابتًا ، يكون المخطط بسيطًا للغاية. يحدث هذا على مرحلتين ، كما سترى في الشكل التالي:
  1. يطلب العميل من الخادم رؤية صفحة ويب ؛
  2. يستجيب الخادم بإرسال الصفحة المطلوبة إليه.
web dynamique php
وبالتالي فإن التواصل أساسي:
  • مرحبًا ، أنا العميل ، وأود أن أرى صفحة الويب هذه. "
  • هذه هي الصفحة التي سألتني عنها. "
على موقع ثابت ، لا يحدث شيء آخر. يخزن الخادم صفحات الويب ويرسلها إلى العملاء الذين يطلبونها دون تعديلها.
في حالة موقع ديناميكي
عندما يكون الموقع ديناميكيًا ، فهناك خطوة متوسطة: يتم إنشاء الصفحة (الشكل التالي).
  • يطلب العميل من الخادم رؤية صفحة ويب ؛
  • يعد الخادم الصفحة خصيصا للعميل ؛
  • يرسل للخادم الصفحة التي أنشأها للتو.
web dynamique php
يتم إنشاء صفحة الويب في كل مرة يدعي فيها العميل ذلك. هذا هو بالضبط ما يجعل المواقع الديناميكية حية: يمكن أن يتغير محتوى الصفحة نفسها من لحظة إلى أخرى.
هذه هي الطريقة التي تدير بها بعض المواقع لعرض اسمك المستعار على سبيل المثال في جميع الصفحات. نظرًا لأن الخادم ينشئ صفحة في كل مرة يُطلب فيها ، فيمكنه تخصيصها لتناسب أذواق الزائر وتفضيلاته (ويعرض ، من بين أشياء أخرى ، لقبه).

لغات الويب


عند إنشاء موقع على شبكة الإنترنت ، يتحتم علينا معرفة الكثير من اللغات و ليس معالجة لغة. ك webmaster ، عليك أن تعرفهم.
تساعد بعض البرامج ، التي تسمى WYSIWYG (ما تراه هو ما تحصل عليه) ، معظم المبتدئين لإنشاء موقع ثابت دون معرفة لغات الكمبيوتر التي تقف خلفه ... ولكن لتحقيق موقع ديناميكي كما نتمنى ، يجب وضع أيدينا تماما في الشحوم.
لموقع ثابت: HTML و CSS
تم إنشاء العديد من اللغات لإنتاج مواقع الويب. اثنان منهم أمر لا بد منه لجميع مشرفي المواقع.
  • HTML : هذه هي اللغة التي تعتمد عليها مواقع الويب. بسيطة للتعلم ، وأنها تعمل بالعلامات. فيما يلي مثال لكود HTML :
    
        <p>Bonjour, je suis un <em>paragraphe</em> de texte !</p>
    
  • CSS : هي لغة تنسيق المواقع. بينما يتيح HTML لكتابة محتوى صفحات الويب الخاصة بك وبنيتها ، فإن لغة CSS تتعامل مع التنسيق والتخطيط. في CSS نختار اللون وحجم القوائم وأشياء أخرى كثيرة. إليك كود CSS :
    
    div.banner {
        text-align: center;
       font-weight: bold;
       font-size: 120%;
    }
    
هذه اللغات هي أساس جميع المواقع. عندما يرسل الخادم صفحة الويب إلى العميل ، فإنه يرسل كودًا في HTML و CSS .
المشكلة هي أنه عندما تعرف فقط HTML و CSS ، يمكنك فقط إنتاج مواقع ثابتة ... لا مواقع ديناميكية! بالنسبة لهؤلاء ، من الضروري التعامل مع لغات أخرى بالإضافة إلى HTML و CSS .
السؤال الذي يجب أن تطرحه على نفسك هو: هل تعرف HTML و CSS؟
إذا كان الأمر كذلك ، فهو مثالي ، يمكنك المتابعة لأننا سنحتاجه لاحقًا. إذا كان الجواب لا ، لا داعي للذعر. هذه اللغات ليست صعبة للغاية ، فهي في متناول الجميع. يمكنك تعلمهم من خلال قراءة صفي على HTML و CSS . اعلم أن تعلم هذه اللغات لا يستغرق سوى أسابيع قليلة ، أو أقل إذا كان لديك وقت فراغ كافٍ.
web dynamique php
يرسل الخادم HTML و CSS إلى العميل
لموقع ديناميكي: أضف PHP و MYSQL
مهما كان موقع الويب الذي ترغب في إنشائه ، فإن HTML و CSS ضروريان. ومع ذلك ، فهي ليست كافية لتحقيق مواقع ديناميكية. عليك أن تكملها بلغات أخرى.
هذا هو بالضبط الغرض من هذه الدورة: سوف تتعلم كيفية التعامل مع PHP و MySQL لإنشاء موقع ديناميكي.
  • PHP : هي لغة يفهمها الخوادم فقط ويجعل موقعك ديناميكيًا . PHP هو الذي "يولد" صفحة الويب كما رأينا في أحد المخططات السابقة.
    ستكون هذه هي اللغة الأولى التي سنكتشفها في هذه الدورة. يمكن أن تعمل بمفردها ، ولكنها في الحقيقة لا تهمك إلا إذا تم دمجها مع أداة مثل MySQL . إليك كود PHP :
    
    <?php
    echo " أنت الزائر رقم :" . $nbre_visitors;
    ?>
    
  • MySQL : وهذا ما يسمى DBMS ( نظام إدارة قواعد البيانات ) . ببساطة ، دوره هو تسجيل البيانات بطريقة منظمة لمساعدتك في العثور عليها بسهولة في وقت لاحق. بفضل MySQL ، ستتمكن من حفظ قائمة أعضاء موقعك ، والرسائل المنشورة في المنتدى ، إلخ. تسمى اللغة التي تتصل بقاعدة البيانات SQL . فيما يلي كود في SQL :
    
    SELECT id, author, message, datemsg FROM livreor ORDER BY datemsg DESC LIMIT 0, 10
    
وتسمى PHP و MySQL البرمجيات الحرة. من بين أشياء أخرى ، يمنحك ضمانات الاستدامة: يمكن للجميع المساهمة في تطويرها ، لذلك لا تخاطر برؤية جميع مشرفي المواقع يفقدون اهتمامهم بـ PHP و MySQL بين عشية وضحاها ، وهذا مهم للغاية !
من ناحية أخرى ، PHP و MySQL متاحة مجانًا. هذا يعني شيئًا أساسيًا واحدًا: لن تضطر إلى التخلص من بنس واحد لبناء موقع الويب الخاص بك!
يمكن أن يعمل PHP بمفرده ويكفي لإنشاء موقع ديناميكي ، لكن الأمور تصبح مثيرة للاهتمام حقًا عند دمجها مع قواعد بيانات إدارة قواعد البيانات مثل MySQL . ومع ذلك للبساطة ، ننسى لحظة MySQL والتركيز على PHP .
PHP يولد HTML
لا يمكن للعملاء فهم كود PHP : فهم يعرفون فقط HTML و CSS . فقط الخادم قادر على قراءة PHP .
إن دور PHP هو بالضبط إنشاء كود HTML (يمكن أيضًا إنشاء CSS ، لكنه نادرًا) ، وهو الكود الذي يتم إرساله بعد ذلك إلى العميل بنفس طريقة موقع ثابت ، كما هو موضح في الشكل. التالي.
web dynamique php
يقرر PHP ما سيتم عرضه على صفحة الويب المرسلة إلى الزائر
هي لغة برمجة تستخدم في العديد من الخوادم لاتخاذ القرارات. PHP هو الذي يقرر كود HTML الذي سيتم إنشاؤه وإرساله إلى العميل في كل مرة.
لفهم قيمة كل هذا ، دعونا نأخذ مثالا. يمكننا أن نكتب بلغة PHP : " إذا كان الزائر عضوًا في موقعي وكان اسمه جوناثان ، فاطبع له مرحبا جوناثان على صفحة الويب. من ناحية أخرى ، إذا لم يكن عضوًا في موقعي ، اطبع له " مرحبًا" بدلاً من ذلك ويقترح على الزائر التسجيل. " هذا هو مثال بسيط جدا من موقع ديناميكي كما كنت عضوا مسجلا أم لا، فلن ترى نفس الأشياء ولا يمكن الحصول على جميع الأقسام.

والمنافسة؟


لا يشتمل HTML و CSS على منافسين لأنهما معياران. من المفترض أن يعرفهم الجميع ويستخدمهم على جميع المواقع.
من ناحية أخرى ، بقدر ما يتعلق الأمر بالمواقع الديناميكية ، فإن PHP و MySQL أبعد ما يكونان عن الموقعين الوحيدين. لا أستطيع أن أعطيك قائمة كاملة من منافسيهم ، ستكون طويلة جدًا (ومملة!). ومع ذلك ، بالنسبة لثقافتك العامة ، يجب أن تعرف على الأقل بعض الأسماء الكبيرة الأخرى.
بادئ ذي بدء ، إذا كنا نميل غالبًا إلى الجمع بين PHP و MySQL لإنشاء مواقع ديناميكية قوية ، يجب ألا نخلط بين الاثنين. الأول لديه منافسين مختلفين عن الثاني.
منافسي PHP
تشمل منافسي PHP ما يلي:
  • ASP .NET : تم تصميمه من قِبل Microsoft ، وهو يستغل إطار العمل (أي مجموعة من المكتبات التي توفر خدمات للمطورين) . NET معروفة جيدًا لمطوري C # . قد تكون هذه اللغة مثيرة للاهتمام إذا كنت معتادًا على التطوير في C # .NET ولا تريد أن تكون مرتبكًا.
  • Ruby on Rails : نشط للغاية ، يستخدم هذا الإطار مع لغة روبي ويسمح لإدراك المواقع الديناميكية بسرعة بعد اصطلاحات معينة. web dynamique php
  • Django : يشبه Ruby on Rails ، لكنه يستخدم في لغة Python .
  • صفحات Java و Java Server (JSPs) : المعروفة أكثر باسم " JEE " أو " Java EE " ، وهي تستخدم بشكل خاص في العالم الاحترافي. يتطلب صرامة معينة. يعد تنفيذ مشروع JEE تقليديًا فترة أطول وأثقل قليلاً ولكن يتم تقدير النظام من قِبل المهنيين والمؤسسات. هذا هو ما يتم استخدامه على موقع الضرائب الفرنسية ، على سبيل المثال.
لا يمكنني تقديم جميع المنافسين هنا ، لكن ذلك يجب أن يعطيك فكرة جيدة. للحصول على معلومات ، يمكن أيضًا استخدام لغة C أو C ++ على سبيل المثال ، على الرغم من أنها أكثر تعقيدًا وليست بالضرورة مناسبة جدًا دائمًا (باختصار ، لا أوصي بها على الإطلاق).
أي واحد للاختيار في الكثير؟ أيهم الأفضل ؟
بالنظر إلى الغرض من هذه الدورة ، تتوقع مني الإجابة عليك على الفور "PHP! ". لكن لا. في الواقع ، كل شيء يعتمد على المعرفة البرمجة الخاصة بك. إذا كنت قد عالجت Java بالفعل ، فستكون أكثر راحة مع JSPs . إذا كنت تعرف بايثون ، يبدو جانغو هو الافضل.
أما بالنسبة لـ PHP ، فهي تبرز من منافسيها من قبل مجتمع كبير يمكنه مساعدتك بسرعة على الإنترنت إذا كانت لديك مشاكل. إنها لغة سهلة الاستخدام ، وهي مثالية لكل من المبتدئين والمحترفين على حد سواء: ويكيبيديا وفيسبوك مثالان على المواقع الشهيرة والمشغولة التي تعمل مع PHP .
باختصار ، ليس هناك خيار أفضل. أوصي باللغة التي سوف تكون متأكدًا من وجود شخص لمساعدتك. PHP بهذا المعنى غالبًا ما يكون اختيارًا جيدًا للغاية.
منافسي MYSQL
من حيث قواعد البيانات ، فإن الاختيار واسع جدًا مرة أخرى. ومع ذلك ، في حين أن PHP ومنافسيها يتمتعون بالمجان ، إلا أن معظم نظم إدارة قواعد البيانات لا تفعل ذلك.
من بين منافسي MySQL ، أنصحك أن تعرف (على الأقل بالاسم) ما يلي:
  • Oracle : إنه نظام إدارة قواعد البيانات الأكثر شهرة والأكثر اكتمالا والأقوى. إنه لسوء الحظ ثمنه (غاليًا) ، والذي يحتفظ به بدلاً من ذلك للشركات التي تستخدمه بالفعل على نطاق واسع. ومع ذلك ، هناك إصدارات مجانية من Oracle ، خاصةً لأولئك الذين يرغبون في تعلم كيفية استخدامها.
  • MariaDB : متغير مجاني من MySQL ، والذي تم إنشاؤه منذ أن تم شراء الأخير بواسطة ... Oracle . نعم ، أعلم ، يمكننا أن نعتقد أن هذا العالم مجنون! ينتمي MySQL إلى Oracle ، لكنه يظل قاعدة بيانات منفصلة. MariaDB هي شوكة MySQL التي تريد أن تبقى حرة ومستقلة.
  • Microsoft SQL Server : محرر بواسطة Microsoft ، غالبًا ما يستخدم مع ASP .NET ، على الرغم من أنه يمكن استخدامه مع أي لغة أخرى. يتم دفعها ، ولكن هناك إصدارات مجانية محدودة.
  • PostgreSQL : هذا DBMS مجاني ومفتوح مثل MySQL ، والذي يوفر ميزات أكثر تقدمًا. في بعض الأحيان ، مقارنةً بـ Oracle . لديه مجتمع أقل أهمية من MySQL و Oracle .
web dynamique php
مرة أخرى ، هذه القائمة ليست شاملة ولكنها تقدم لك على الأقل بعض الأسماء الكبيرة. للحصول على معلومات ، لا يزال MySQL هو الأكثر استخدامًا وفتحًا لنظام إدارة قواعد البيانات. من بين الحلول الاحترافية مدفوعة الأجر ، تعد Oracle هي الأكثر تقدمًا والأكثر انتشارًا ، ولكن استخدامها مخصص للشركات الكبرى بشكل أساسي.
في النهاية ، إذا كانت الوسائل الخاصة بك محدودة ، فلن يكون لديك الكثير من الخيارات لنظام إدارة قواعد البيانات. MySQL هو الأنسب لأنه مجاني وقوي ويستخدمه العديد من الأشخاص الذين يحتمل أن يساعدوك.
عدة مجموعات ممكنة
كما ترون ، لديك خيار من بين العديد من الأدوات لإنشاء موقع ديناميكي. معظمهم أحرار.
اعلم أنه يمكنك الجمع بين هذه الأدوات كما تراه مناسبًا. على سبيل المثال ، يمكنك استخدام PHP بشكل جيد مع قاعدة بيانات غير MySQL ، مثل Oracle أو PostgreSQL . وبالمثل ، يمكن استخدام MySQL مع أي لغة أخرى: Java و Python و Ruby ، إلخ.
ومع ذلك ، فإن تركيبة " PHP + MySQL " هي الأكثر شيوعًا. ليس من قبيل الصدفة أن تتعامل هذه الدورة مع هاتين الأداتين المثبتتين.

في الخلاصة


  • هناك نوعان من المواقع:
    • المواقع الثابتة : مصنوعة بتنسيق HTML و CSS ، ولا يمكن تحديث محتواها إلا بواسطة مشرف الموقع ؛
    • المواقع الديناميكية : تم إنشاؤها باستخدام أدوات أخرى مثل PHP و MySQL بالإضافة إلى HTML و CSS ، فهي تتيح للزائرين المشاركة في حياة الموقع ونشر الرسائل ... باختصار ، لجعل الموقع على قيد الحياة!
  • يسمى زوار الموقع العملاء. يطلبون من الخادم الذي يستضيف الموقع إرسال صفحات الويب إليهم.
  • PHP هي لغة ينفذها الخادم. يسمح بتخصيص الصفحة وفقًا للزائر ، ومعالجة رسائلها ، وإجراء العمليات الحسابية ، إلخ. انه يولد صفحة HTML .
  • MySQL هو نظام إدارة قواعد البيانات. وهي مسؤولة عن تخزين المعلومات (قائمة الرسائل ، الأعضاء ...).