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


الدرس: نقل البيانات باستخدام عنوان URL


الصفحة السابقة
هل تعرف ما هو عنوان URL؟ هذا يعني Uniform Resource Locator، وهذا يعمل على تمثيل عنوان على الويب. جميع العناوين التي تراها في الجزء العلوي من المتصفح الخاص بك ، مثل https://www.arabclassroom.com، هي عناوين URL .
أظن أنك لا تقضي وقتك في النظر إليهم (هناك الكثير للقيام به!) ، لكنني متأكد من أنك فوجئت بالفعل برؤية بعض عناوين URL طويلة جدًا وأحيانًا تحتوي على أحرف غريبة. على سبيل المثال ، بعد إجراء عملية بحث على Google ، يحتوي شريط العنوان على عنوان URL طويل يشبه هذا:
http://www.google.fr/search?rlz=1C1GFR343&q=arabclassroom
في هذا المثال ، المعلومات بعد علامة الاستفهام هي البيانات التي يتم تمريرها من صفحة إلى أخرى. سوف نكتشف في هذا الفصل كيف يعمل.

إرسال البيانات في URL


في المقدمة ، أخبرتك أن عنوان URL يسمح بنقل المعلومات. كيف يعمل بالضبط؟
شكل عنوان URL لإرسال البيانات
دعنا نقول أن موقعك يسمى mysite.com ولديك صفحة PHP تسمى hello.php . للوصول إلى هذه الصفحة ، يجب عليك الانتقال إلى عنوان URL التالي:
http://www.mysite.com/hello.php
حتى ذلك الحين ، لا شيء جديد. ما أقترح تعليمه هو إرسال معلومات إلى الصفحة hello.php . لذلك ، سنضيف معلومات في نهاية عنوان URL ، مثل هذا:
http://www.mysite.com/hello.php?name=Dupont&first_name=Jean
ما تراه بعد علامة الاستفهام هي المٌدخلات التي يتم إرسالها إلى صفحة PHP . هذا يمكن استرداد هذه المعلومات في المتغيرات. راجع الشكل التالي كيفية قص عنوان URL هذا.

web dynamique php
هيكل عنوان URL
تفصل علامة الاستفهام اسم صفحة PHP عن المٌدخلات. ثم ، يتبع هؤلاء بعضهم البعض وفقًا للنموذج name=valeur ويتم فصلهم عن بعضهم البعض بالرمز & .
هل يمكن أن نكتب العديد من المٌدخلات كما نريد؟
من الناحية النظرية ، نعم. فقط افصلهم عن طريق استعمال & كما فعلت. يمكننا أن نرى عنوان URL للنموذج:
page.php?param1=valeur1¶m2=valeur2¶m3=valeur3¶m4=valeur4…
الحد الوحيد هو طول عنوان URL . بشكل عام ، لا يُنصح بتجاوز 256 حرفًا ، ولكن في بعض الأحيان تعمل المتصفحات على إدارة عناوين URL الأطول. على أي حال ، سوف تفهم أنه لا يمكنك كتابة رواية في URL .
إنشاء رابط مع المٌدخلات
الآن وقد عرفنا ذلك ، يمكننا إنشاء روابط بتنسيق HTML لتمرير المٌدخلات من صفحة إلى أخرى.
تخيل أن لديك ملفين على موقعك:
  • index.php(الاستقبال) ؛
  • bonjour.php .
    • نريد إنشاء رابط في  index.php يؤدي إلى bonjour.php و ينقل المعلومات إليه في عنوان URL ، كما هو مخطط في الشكل التالي.
      web dynamique php
      الرابط بين index.php و hello.php
      للقيام بذلك ، افتح index.php(لأنه هو الذي سيحتوي الرابط) وأدرج على سبيل المثال الكود التالي:
      
      <a href="bonjour.php?nom=Dupont&prenom=Jean">قل لي صباح الخير !</a>
      
      كما ترى ، & تم استبدالها بالرمز & في الرابط. لا علاقة لهذا بـ PHP : ببساطة ، في HTML ، نطلب كتابة & بالرمز & في الكود المصدري. إذا لم تقم بذلك ، فلن يجتاز الرمز التحقق من صحة W3C .
      يستدعي هذا الرابط الصفحة bonjour.php ويرسلها مٌدخلين:
      • nom
      • prenom
      من المحتمل أنك خمنت ما نحاول القيام به هنا: نسمي صفحة bonjour.php ستقول "مرحبًا" للشخص الذي تم إرسال اسمه الأخير واسمه الأول كمٌدخلات.
      ماذا نفعل في الصفحة bonjour.php لاسترداد هذه المعلومات؟ هذا هو ما سنراه الآن. 

الحصول على المٌدخلات في PHP


نحن نعرف الآن كيفية تكوين روابط لإرسال الإعدادات إلى صفحة أخرى. لهذا أضفنا المٌدخلات في نهاية URL .
الآن دعونا نلقي نظرة على الصفحة التي تتلقى الإعدادات. في مثالنا ، هذه هي الصفحة bonjour.php . وهذا تلقائيا يقوم بإنشاء صفيف له اسم خاصو هو : $_GET . هذه صفيف ترابطي (تتذكر ، لقد درسنا هذا منذ فترة قصيرة!) حيث تتطابق المفاتيح مع أسماء المٌدخلات المرسلة في URL .
لنأخذ مثالنا لنرى كيف يعمل. لقد أنشأنا رابطًا bonjour.php?nom=Dupont&prenom=Jean، وهذا يعني أنه سيكون بإمكاننا الوصول إلى المتغيرات التالية: