نموذج لإرسال البيانات في PHP (POST، GET). PHP البرامج النصية لمعالجة نماذج HTML إنشاء النماذج في PHP

08.10.2023

إحدى المهام الأكثر شيوعًا في الممارسة العملية هي تنفيذ نموذج التعليقات. تقصد كتابة كود HTML الخاص به، وتصميمه في CSS، إنشاء PHPبرنامج نصي من شأنه معالجة البيانات الواردة من المستخدم وإرسالها إلى بريدنا الإلكتروني، وكتابة برنامج نصي JS من شأنه التحقق من النموذج للتأكد من كفاية البيانات المدخلة، وحماية بنات أفكارنا من البريد العشوائي بحيث صندوق البريدلم ينهار من هجمات الروبوت.

ستتم مناقشة جميع النقاط المذكورة أعلاه في مراجعتنا والتعليق عليها بالتفصيل.

لذلك، دعونا نبدأ في إنشاء نموذج الملاحظات:

HTML

أولاً، نكتب كود HTML، الذي يحدد الحقول التي سيقوم المستخدم بملئها. سيتم إضفاء الطابع الرسمي عليها في المستقبل. يبدو رمز النموذج كما يلي:

< form method= "post" action= "mail.php" > < div class = "left" > < label for = "name" >اسم:< input maxlength= "30" type= "text" name= "name" /> < label for = "phone" >الهاتف:< input maxlength= "30" type= "text" name= "phone" /> < label for = "mail" >بريد إلكتروني:< input maxlength= "30" type= "text" name= "mail" /> < div class = "right" > < label for = "message" >رسالة:< textarea rows= "7" cols= "50" name= "message" > < input type= "submit" value= "يرسل" />

وبصريا يبدو الآن مثل هذا:

أوافق، حتى الآن كل شيء قبيح ولا شيء واضح، لكننا بدأنا للتو.

دعونا نلقي نظرة على الكود أعلاه بالتفصيل:

  • < form method= "post" action= "mail.php" > …


    لإنشاء نموذج، يجب عليك استخدام علامة النموذج. هو الذي يحدد بداية ونهاية النموذج لمترجم الكود. تحتوي، مثل أي علامة، على مجموعة كاملة من السمات، ولكن هناك اثنتين فقط مطلوبتين لكي يعمل النموذج، وهي الطريقة (طريقة إرسال طلب إلى الخادم، ويتم استخدام النشر كمعيار للنماذج) والإجراء ( يشير إلى المسار إلى ملف معالج النموذج، أي في هذا الملف، سيحتوي على برنامج نصي PHP، والذي سيرسل لنا بعد ذلك القيم التي أدخلها المستخدم عبر البريد الإلكتروني. في حالتنا، نرى أن هذا الملف يسمى mail.php و فهو موجود في نفس دليل الموقع مثل الصفحة التي ندرسها).
  • < input maxlength= "30" type= "text" name= "name" />


    التالي لدينا المدخلات. هذه هي في الواقع حقول النموذج نفسها التي سيُدخل فيها المستخدمون المعلومات التي نحتاجها (يشير النوع = "text" إلى أن هذا سيكون نصًا). تحدد سمة maxlength عدد الأحرف التي يمكن للمستخدم إدخالها في حقل نموذج معين. السمة الأكثر أهمية هي الاسم - فهو يحدد اسم حقل معين. وبهذه الأسماء سيقوم برنامج PHP النصي بمعالجة المعلومات التي تدخله لاحقًا. إذا رغبت في ذلك، يمكنك أيضًا تعيين سمة العنصر النائب، التي تعرض النص داخل الحقل الذي يختفي عند وضع المؤشر بداخله. إحدى مشكلات العنصر النائب هي أنه غير مدعوم من قبل بعض المتصفحات القديمة.
  • < label for = "name" >اسم:


    يُستخدم إذا تخلينا عن العناصر النائبة. توقيع الحقل العادي، تخبر السمة عن الحقل المحدد الذي يشير إليه هذا التوقيع. تشير القيمة إلى اسم الحقل الذي نهتم به.
  • < textarea rows= "7" cols= "50" name= "message" >


    تمامًا مثل الإدخال، فهو مخصص للمستخدم لإدخال المعلومات، ولكن هذه المرة فقط تم تخصيص الحقل للرسائل الطويلة. تحدد الصفوف حجم الحقل في الصفوف، والأعمدة في الأحرف. بشكل عام، يتم تحديد ارتفاع وعرض مجالنا.
  • < input type= "submit" value= "يرسل" />


    يخبرنا النوع = "إرسال" أن هذا زر لإرسال نموذج، وتحدد القيمة النص الذي سيكون داخل هذا الزر.
  • < div class = "right" >


    يتم استخدامها فقط لمزيد من التصميم المرئي للنموذج.
CSS

لكي يبدو نموذج الملاحظات قابلاً للعرض، يجب تنسيقه. للحصول على النتيجة التالية:

استخدمنا هذا الكود:

النموذج ( الخلفية: #f4f5f7; الحشو: 20px; ) النموذج . اليسار، النموذج. يمين (عرض: كتلة مضمنة؛ محاذاة رأسية: أعلى؛ العرض: 458 بكسل؛) نموذج . اليمين (الحشوة - اليسار: 20 بكسل؛) التسمية (العرض: كتلة؛ حجم الخط: 18 بكسل؛ محاذاة النص: المركز؛ الهامش: 10 بكسل 0 بكسل 0 بكسل 0 بكسل؛) الإدخال، منطقة النص (الحدود: 1 بكسل صلب #82858D؛ الحشو: 10 بكسل؛ حجم الخط: 16 بكسل؛ العرض: 436 بكسل؛) منطقة النص (الارتفاع: 98 بكسل؛ الهامش السفلي: 32 بكسل؛) الإدخال[النوع= "إرسال"] (العرض: 200 بكسل؛ تعويم: يمين؛ الحدود: لا شيء؛ الخلفية: #595B5F؛ اللون: #fff؛ تحويل النص: أحرف كبيرة؛

لا أرى فائدة من وصف CSS بالتفصيل، سألفت انتباهك فقط إلى النقاط الرئيسية:

  • ليست هناك حاجة لكتابة تصميم لكل علامة في النموذج. حاول إنشاء محدداتك بحيث يمكنك تصميم جميع العناصر التي تحتاجها في سطرين من التعليمات البرمجية.
  • لا تستخدم علامات الكتابة غير الضرورية لفصل الأسطر وإنشاء مسافات بادئة< br>, < p>إلخ. CSS مع العرض: تتواءم خصائص الكتلة والهامش مع الحشو جيدًا مع هذه المهام. المزيد عن سبب عدم استخدامه< br>في التخطيط بشكل عام، يمكنك أن تقرأ في المقالة Tag br، ولكن هل هذا ضروري حقًا؟ .
  • يجب عدم استخدام التخطيط الجدولي للنماذج. وهذا يتناقض مع دلالات هذه العلامة، ومحركات البحث تحب الكود الدلالي. من أجل تشكيل البنية المرئية للمستند، نحتاج فقط إلى علامات div، وتلك المحددة في خصائص CSSعرض: كتلة مضمنة (يرتب الكتل في صف واحد) ومحاذاة رأسية: أعلى (يمنعها من التشتت عبر الشاشة)، اضبطها على الارتفاع المطلوب وفويلا، لا شيء غير ضروري وكل شيء يقع بالطريقة التي نحتاجها.
  • بالنسبة لأولئك الذين يريدون توفير وقتهم في تصميم مواقع الويب، يمكنني أن أوصي باستخدام أطر عمل CSS عند إنشاء مواقع الويب، وخاصة تلك المكتوبة ذاتيًا. خياري في هذا الصدد هو Twitter Bootstrap. يمكنكم مشاهدة درس حول كيفية تصميم النماذج باستخدامه.

    PHP

    حسنًا، لقد حان الوقت لجعل نموذجنا يعمل.

    نذهب إلى الدليل الجذر للموقع الخاص بنا ونقوم بإنشاء ملف mail.php هناك، والذي حددنا له المسار مسبقًا في سمة الإجراء لعلامة النموذج.

    في النهاية سيبدو الكود الخاص به كما يلي:

    لقد تم إرسال رسالتك بنجاح

    يمكنك تخطي مناقشة أجزاء HTML وCSS في هذه الوثيقة. إنها في جوهرها صفحة موقع عادية يمكنك تصميمها وفقًا لرغباتك واحتياجاتك. دعونا نلقي نظرة على الجزء الأكثر أهمية - البرنامج النصي PHP لمعالجة النموذج:

    $العودة = "

    عُد

    " ;

    بهذا السطر نقوم بإنشاء رابط للعودة إلى الصفحة السابقة. نظرًا لأننا لا نعرف مسبقًا من أي صفحة سينتقل المستخدم إلى هذه الصفحة، يتم ذلك باستخدام وظيفة JS صغيرة. في المستقبل، سنقوم ببساطة بالوصول إلى هذا المتغير لعرضه في الأماكن التي نحتاجها.

    إذا (! فارغ ($_POST [ "اسم" ] ) و ! فارغ ($_POST [ "هاتف" ] ) و ! فارغ ($_POST [ "بريد" ] ) و ! فارغ ($_POST [ "رسالة" ] )) ) ( // الجزء الداخلي من المعالج ) آخر ( echo "لإرسال رسالة، املأ جميع الحقول! $back " ; exit ; )

    نضيف هنا فحص النموذج للتأكد من امتلاء الحقول. كما خمنت، في الجزء $_POST["name"]، بين علامتي اقتباس، نكتب قيمة سمة الاسم لمدخلاتنا.

    إذا تم ملء جميع الحقول، فسيبدأ البرنامج النصي في معالجة البيانات في جزئه الداخلي، أما إذا لم يتم ملء حقل واحد على الأقل، فسيتم عرض رسالة على شاشة المستخدم تطلب منه ملء جميع الحقول حقول النموذج صدى "لإرسال رسالة، املأ جميع الحقول $back" ورابط للعودة إلى الصفحة السابقة التي أنشأناها بالسطر الأول.

    بعد ذلك نقوم بلصق الجزء الداخلي من معالج النموذج:

    $name = Trim(strip_tags($_POST["name"]));

    $phone = Trim(strip_tags($_POST["phone"])); $mail = Trim(strip_tags($_POST["mail"]));$message = Trim(strip_tags($_POST["message"]));

    بهذه الطريقة قمنا بمسح مدخلات المستخدم من

    لا أوصي بالتخلي تمامًا عن حماية النموذج من جانب الخادم لصالح JS، لأنه على الرغم من ندرته الشديدة، إلا أن هناك حماية فريدة من نوعها مع تعطيل JS في المتصفح.

    بعد تنظيف العلامات، قم بإضافة إرسال رسالة:

    mail ("[email protected]"، "رسالة من_your_site_address"، "كتبت إليك: " . $name . "
    رقمه: " .$phone ."
    بريده الإلكتروني: " .$mail ."
    رسالته: " . $message, "Content-type:text/html;charset=windows-1251" ) ;

    وهذا الخط هو المسؤول عن توليد الرسالة وإرسالها إلينا. يتم ملؤها على النحو التالي:

  • "[email protected]" - هنا تقوم بإدخال بريدك الإلكتروني بين علامتي الاقتباس
  • "رسالة من your_site_address" هو موضوع الرسالة التي سيتم إرسالها إلى بريدك الإلكتروني. يمكنك كتابة أي شيء هنا.
  • "لقد كتبت لك: ".$name."< br />رقمه: ".$phone."< br />بريده الإلكتروني: ".$mail."< br />رسالته: ".$message - نقوم بتشكيل نص الرسالة نفسه. $name - نقوم بإدخال المعلومات التي ملأها المستخدم عن طريق الوصول إلى الحقول من الخطوة السابقة، بين علامتي الاقتباس نصف ما يعنيه هذا الحقل، مع العلامة< br />نكسر السطر حتى تكون الرسالة ككل قابلة للقراءة.
  • نوع المحتوى:text/html;charset=windows-1251 - يوجد في النهاية إشارة صريحة إلى نوع البيانات المرسلة في الرسالة وترميزها.
  • مهم!

    الترميز المحدد في "رأس" المستند (< meta http- equiv= "Content-Type" content= "text/html; charset=windows-1251" />)، الترميز من الرسالة Content-type:text/html;charset=windows-1251 والترميز بشكل عام ملف PHPيجب أن تتطابق، وإلا فإن الرسائل المستلمة عبر البريد الإلكتروني ستعرض "krakozyabry" بدلاً من الحروف الروسية أو الإنجليزية.

    كثيرون لا يشيرون صراحة إلى تشفير الرسالة المرسلة، بل على البعض عملاء البريدولهذا السبب، قد تنشأ مشاكل في المستقبل (يتم إرسال رسائل غير قابلة للقراءة إلى البريد)، لذلك أوصي بالإشارة إليها.

    التأكد من كفاية البيانات المدخلة في النموذج

    للتأكد من أن المستخدمين لا يفوتون الحقول عن غير قصد وملء كل شيء بشكل صحيح، فمن المفيد التحقق من البيانات المدخلة.

    يمكن القيام بذلك في PHP من جانب الخادم وفي JS من جانب العميل. أستخدم الخيار الثاني، لأنه بهذه الطريقة يمكن لأي شخص أن يكتشف على الفور الخطأ الذي ارتكبه ويصحح الخطأ دون ارتكابه التحولات الإضافيةبالصفحة.

    نقوم بلصق كود البرنامج النصي في نفس الملف حيث لدينا جزء HTML من النموذج. بالنسبة لحالتنا ستبدو هكذا:

    < script>دالة checkForm(form) ( var name =form.name.value; var n = name.match(/ ^[ A- Za- zA- Jaa- z ] * [ A- Za- zA- Ja- z ] + $/ ) ; if (! n) ( تنبيه ("تم إدخال الاسم بشكل غير صحيح، يرجى تصحيح الخطأ" ) ; var phone = form phone ] [ 0 - 9 - ] * [ 0 - 9 - ] + $/ ) ; if (! p) ( تنبيه ("تم إدخال الهاتف بشكل غير صحيح") ; إرجاع خطأ ; ) var mail = match(/ ^[. A- Za- z0- 9 ] [ A- Za- z0- 9 \. ] * [ A- Za- z0- 9 _] *@ ([ A- Za- z0- 9 ] + ([ A- Za - z0- 9 - ] * [ A- Za- z0- 9 ] + ) * \ ) + [ A- Za- z] + $/ ) ; ( تنبيه("تم إدخال البريد الإلكتروني بشكل غير صحيح ، يرجى تصحيح الخطأ" ) ؛ إرجاع خطأ ; ) إرجاع صحيح ;)

    حسنا، الآن التحليل المعتاد:

    لكي نتمكن من التحقق من النموذج عندما نضغط على زر الإرسال، نرفق إطلاق البرنامج النصي الخاص بنا بعلامة النموذج:

    < form method= "post" action= "mail.php" onSubmit= "return checkForm(this)" >

    الآن لنأخذ قائمة المراجعة نقطة بنقطة:


    كما ترون، يتم كتابة هذا الشيك المصغر لكل مجال من مجالاتنا. لقد قمت بتسليط الضوء على التحقق من حقل واحد في لقطة الشاشة بمربع أحمر؛ أما بالنسبة للحقول الأخرى فلها بنية مماثلة، وإذا كانت هناك حاجة لإضافة حقل أو إزالته، فيمكنك الآن القيام بذلك بسهولة.

    أحد المواضيع السابقة تمت مناقشته بالفعل حول الحصول على البيانات من النموذج. في هذا الموضوع، سأخبرك بمزيد من التفاصيل حول كيفية إرسال النموذج بشكل صحيح إلى الخادم، وكذلك معالجة النموذج في PHP.

    تقديم النموذج

    حقل الإدخال.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    عناصر النموذج الأكثر شيوعًا هي حقول الإدخال المختلفة. يتم إنشاؤها باستخدام علامات من العديد من الأنواع والعلامة. إرسال البيانات من هذه العناصر أمر بسيط. تحتوي العلامات على سمة اسم تحدد اسم المعلمة. وقيمة المعلمة هي النص الذي سيكتبه المستخدم في حقل الإدخال. بالإضافة إلى ذلك، يمكن أن تحتوي العلامات على سمة قيمة تحدد قيمة افتراضية. سيتم إرسال هذه القيمة إلى الخادم إذا لم يدخل المستخدم أي شيء. على سبيل المثال، لنقم بإنشاء نموذج وإضافة حقول الإدخال إليه:

    صفحة

    12
    13
    14
    15
    16
    17
    18

    يختار. يتم إرسال البيانات من العلامة على النحو التالي: هذه العلامة نفسها لها سمة اسم. وسمة القيمة ليست على العلامة، ولكن على عناصر القائمة، أي على العلامات. عادةً ما يكون لكل عنصر قيمة سمة القيمة الخاصة به. أيًا كان العنصر الذي يحدده المستخدم، يتم أخذ قيمة المعلمة من هذا العنصر. في هذه الحالة، لا يهم النص الموجود في العلامة، يتم استخدام السمة فقط. أضف علامة إلى النموذج:

    الاهتمامات

    زر الراديو.

    يجب أن يكون لجميع أزرار الاختيار من نفس المجموعة نفس سمة الاسم. لا تقوم هذه القيمة بتعيين اسم المعلمة فحسب، بل تقوم أيضًا بتجميع أزرار الاختيار في مجموعة يمكن تحديد زر اختيار واحد فقط منها. يتم تعيين سمة القيمة بشكل مختلف. دعونا نضيف أزرار الاختيار إلى النموذج: خانة الاختيار.على عكس أزرار الاختيار، كل مربع اختيار

    عنصر منفصل

    أشكال. جميع مربعات الاختيار مستقلة عن بعضها البعض ويرسل كل منها بياناته إلى الخادم. يجب أن تكون سمة الاسم مختلفة بالنسبة لجميع مربعات الاختيار، ويمكن أن تكون سمة القيمة هي نفسها أو مختلفة. ومع ذلك، لا تحتوي خانة الاختيار على أية بيانات محددة. يمكن اختياره أم لا. ولذلك، ليس هناك أي نقطة في تعيينه إلى قيمة طويلة. يمكن إعطاؤه قيمة مكونة من حرف واحد، على سبيل المثال، 1. على الخادم، سيكون معنى هذه القيمة كما يلي: إذا كانت هناك قيمة، فسيتم تحديد خانة الاختيار، وإذا لم تكن هناك قيمة، فهي كذلك لم يتم تحديده. لنضيف مربعات اختيار إلى النموذج وننشئ زر إرسال:

    معالجة البيانات من النماذج

    في المثال المقترح، تم إنشاء نموذج يرسل البيانات إلى برنامج نصي يسمى takeform.php. لذلك، تحتاج إلى إنشاء هذا البرنامج النصي. لن يكون هذا مجرد برنامج، بل صفحة سيتم إنشاؤها اعتمادًا على البيانات الواردة من النموذج. يتم إرسال النموذج باستخدام طريقة POST. يأخذ البرنامج النصي هذه البيانات من المصفوفة $_POST superglobal. يمكن ببساطة استخدام عناصر المصفوفة في البرنامج النصي، ولكن إذا كنت بحاجة إلى العمل معهم كثيرًا، فإن كتابة اسم العنصر في كل مرة يكون غير مريح. من الأسهل كتابة القيمة في متغير والوصول إليها. لنقم بإنشاء ملف takeform.php ونكتب القيم من أول عنصرين في النموذج إلى متغيرات:

    13
    14
    15
    16
    17

    خذ النموذج.php:

    لم نضيف سمة قيمة إلى العلامة. إذا لم تقم بإدخال أي شيء فيه، فستكون القيمة فارغة. غالبًا ما تحتاج إلى التحقق مما إذا كان المستخدم قد كتب شيئًا ما في حقل الإدخال. توجد دالة لهذا تسمى فارغ()، والتي ترجع صحيحًا إذا كان المتغير يحتوي على قيمة فارغة، وترجع خطأ إذا كان المتغير يحتوي على قيمة فارغة. في الصفحة التي تقبل البيانات من النموذج، سوف نتحقق مما إذا كان قد تم إدخال شيء ما أم لا. لقد كتبنا القيمة منه في المتغير $self، وسوف نتحقق منها. إذا كانت تحتوي على قيمة، فسنضيف كتلة إلى الصفحة ونضع النص من المتغير فيها. إذا كان المتغير فارغًا، فلن يتم إنشاء الكتلة.

    إذا (!فارغ($self)) (صدى "

    يختار. عادةً ما يتم استخدام النص من حقول الإدخال بمفرده. يتم كتابته إلى قاعدة البيانات أو الإخراج إلى الصفحة. ولكن يتم استخدام البيانات من عناصر النموذج الأخرى بشكل مختلف قليلاً. بعد تلقي البيانات من النموذج، لا يعرضها البرنامج النصي، ولكنه يحدد بناءً عليها الإجراءات التي يجب تنفيذها. لنشكل جزءًا من الصفحة اعتمادًا على اختيار المستخدم لعنصر القائمة:

    يرجى ملاحظة العلامة الافتتاحية

    يأتي قبل معالجة البيانات، في السطر 19، ويأتي الإغلاق في النهاية، في السطر 28. وبالتالي، لا يتم تقسيم كود HTML فحسب، بل أيضًا علامة محددة إلى أجزاء. هذه ممارسة شائعة.

    زر الراديو.

    جميع أزرار الاختيار الموجودة في نفس المجموعة لها نفس سمة القيمة. وبناءً على ذلك، يتم إنشاء عنصر واحد من المصفوفة $_POST للمجموعة بأكملها. سيتم كتابة القيمة من زر الاختيار الذي يحدده المستخدم عليه. لنضيف نتيجة تحديد زر الاختيار إلى الصفحة:

    خانة الاختيار.

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

    هذه المقالة

    يغطي أساسيات إنشاء نماذج HTML ومعالجتها وطرق نقل البيانات من نماذج الشاشة إلى برامج PHP النصية. 1) إنشاء نموذج بسيط العلامات و تحديد بداية ونهاية النموذج. علامة نموذج البداية 1) إنشاء نموذج بسيط يحتوي على خاصيتين:فعل يحتوي على خاصيتين:طريقة . تحتوي سمة الإجراء على عنوان URL للبرنامج النصي الذي يجب استدعاؤه لمعالجة البرنامج النصي. يصف 1) إنشاء نموذج بسيط يخبر المتصفح بنوع طلب HTTP الذي سيتم استخدامه لإرسال النموذج؛ القيم الممكنة.

    بريد

    الفرق الرئيسي بين طريقتي POST وGET هو طريقة نقل المعلومات. في طريقة GET، يتم تمرير المعلمات عبر شريط العناوين، أي. بشكل أساسي في رأس طلب HTTP، بينما في طريقة POST يتم إرسال المعلمات عبر نص طلب HTTP ولا تنعكس بأي شكل من الأشكال في شريط العناوين.

    المهمة: لنفترض أنك بحاجة إلى إنشاء قائمة منسدلة بالسنوات من 2000 إلى 2050.
    الحل: أنت بحاجة إلى إنشاء نموذج HTMLباستخدام عنصر SELECT و PHP – البرنامج النصي لمعالجة النموذج.

    مناقشة:

    أولاً، لنقم بإنشاء ملفين:form.html وaction.php. سيحتوي ملف form.html على نموذج html مع قائمة منسدلة. علاوة على ذلك، يمكن تحديد القيم الموجودة في القائمة بطريقتين:

    أولا: إدخال البيانات يدويا:


    2000
    2001
    2002
    ……………………………………………
    2050

    ثانيا. إدخال البيانات من خلال حلقة:



    كما ترون، المثال الثاني مع الحلقة هو أكثر إحكاما. أعتقد أنه ليست هناك حاجة لتوفير البرنامج النصي للمعالج لهذا النموذج، لأنه تتم معالجته تمامًا مثل حقل النص، أي. يمكن استرجاع قيم القائمة من مصفوفة superglobal.

    $_POST

    وصف:




    لنقم بإنشاء نموذج HTML لإرسال ملف إلى الخادم. يحتوي نموذج HTML هذا على عنصرتصفح ، الذي يفتح مربع حوار لتحديد ملف لتحميله إلى الخادم.عندما تضغط على الزر

    "نقل الملف"

    بريد

    ، يتم تمرير الملف إلى البرنامج النصي للمعالج.

    فأنت بحاجة إلى كتابة المعالج action.php . قبل كتابة المعالج، علينا أن نقرر في أي مجلد سننسخ الملف:

    إذا كنت تثق في قدرة المستخدمين على تحميل أي ملفات إلى الخادم الخاص بك، فيجب أن تكون حذرًا للغاية. يمكن للمهاجمين تضمين تعليمات برمجية "سيئة" في صورة أو ملف وإرسالها إلى الخادم. في مثل هذه الحالات، تحتاج إلى التحكم الصارم في تنزيل الملفات. يوضح هذا المثال إنشاء دليل ونسخ ملف إلى هذا الدليل على الخادم.أود أيضًا أن أعرض مثالاً على العنصر يوضح هذا المثال إنشاء دليل ونسخ ملف إلى هذا الدليل على الخادم.خانة الاختيار أعتقد أنه ليست هناك حاجة لتوفير البرنامج النصي للمعالج لهذا النموذج، لأنه تتم معالجته تمامًا مثل حقل النص، أي. يمكن استرجاع قيم القائمة من مصفوفة superglobal. يختلف هذا العنصر قليلاً عن العناصر الأخرى في أنه إن لم يكن أحد العناصر


    لم يتم تحديد 'a، ثم المتغير العالمي الفائق
    سيعود قيمة فارغة:
    أزرق




    أسود

    أبيض

    إذا كان لديك أي أسئلة أخرى أو كان هناك شيء غير واضح - مرحباً بك في موقعنا

    تقبل المواقع التفاعلية المدخلات من المستخدمين. إحدى الطرق الشائعة لتلقي المدخلات هي من خلال النماذج.

    سنرى في هذا الدرس كيفية إنشاء نموذج ومعالجة الإدخال على الخادم. عند إنشاء نموذج، يتم تضمين سمتين مهمتين: الإجراء والطريقة.نقل البيانات. لا تحتاج إلى الخوض في الاختلافات بين هذه الطرق الآن؛ ترسل طريقة "الحصول على" البيانات عبر عنوان URL، وترسلها طريقة "النشر" ككتلة من البيانات عبر خدمة الإدخال القياسية (STDIN).

    في الدرس الأخير الذي تعلمناه، رأينا كيف يتم استرداد البيانات من خلال عنوان URL باستخدام $_GET.

    سننظر في هذا البرنامج التعليمي في كيفية الحصول على البيانات المرسلة من خلال نموذج باستخدام طريقة "النشر". صفحة HTML مع النموذجلا يجب أن تكون الصفحة التي تحتوي على النموذج ملف PHP (لكن يمكن أن تكون كذلك). ولا يجب أن يكون موجودًا على نفس الموقع الذي يوجد به الملف الذي يتلقى البيانات.

    في المثال الأول لدينا سوف ننظر إلى جدا

    شكل بسيط

    مع حقل نصي واحد: النموذج أدخل اسمك.

    سيعرض المتصفح النموذج:

    الآن تبدأ المتعة: تلقي ومعالجة البيانات من باستخدام PHPطلب بيانات النموذج باستخدام PHP

    إذا كنت بحاجة إلى طلب البيانات المرسلة عبر نموذج (باستخدام ملف

    بريد

    )، فإنك تستخدم $_POST : تحديد بداية ونهاية النموذج. علامة نموذج البداية$_POST["اسم الحقل"];

    والتي سوف ترجع قيمة حقل النموذج. دعونا نحاول هذا مع مثال.

    أولاً، لنقم بإنشاء صفحة بالنموذج كما كان من قبل. بعد ذلك، لنقم بإنشاء صفحة PHP (معالج) "handler.php" (لاحظ أن هذا هو اسم الصفحة الذي كتبناه في السمة)

    في بلدنا).

    سيحتوي الملف "handler.php" على:

    استمارة

    مدخلات المستخدم والشروط

    في المثال التالي سنحاول استخدام مدخلات المستخدم لإنشاء الشروط. نحتاج أولاً إلى النموذج:

    استمارة

    ما اسمك:

    اللون المفضل لديك: الأحمر، الأخضر، الأزرق