كيفية إرسال رسالة من النماذج. تصميم الويب وتحسين محركات البحث

18.05.2019

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

لذا. هيا بنا نبدأ. لنبدأ بقدرات البرنامج النصي.

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

    دعونا نتحدث عن الملفات المتبقية بمزيد من التفصيل:

    ردود الفعل.js هو ملف البرنامج النصي الرئيسي، المسؤول عن تقديم نموذج AJAX.
    jquery.arcticmodal.js،
    jquery.arcticmodal. - توفير القدرة على عرض النماذج في نافذة مشروطة.
    jquery.jgrowl.js،
    jquery.jgrowl.css - يسمح لك بعرض الإشعارات على الصفحة (الكتل الموجودة في الركن العلوي من الصفحة).

    HTML والسمات المطلوبة.
    السمة المطلوبة لجميع عناصر النموذج هي سمة name = "" - وهي ضرورية لتخصيص النموذج لاحقًا.
    بالنسبة للزر (type = "button")، يجب عليك تحديد class = "feedback" . أود أيضًا أن ألفت انتباهك إلى حقيقة أن أي علامة HTML مع فئة "التعليقات" يمكن أن تعمل كزر. استدعاء نموذج في نافذة مشروطة لاستدعاء نموذج في نافذة مشروطة، تحتاج أولاً إلى تحديد إجراء للنقر على أي علامة، على سبيل المثال div مع فئة modal_btn
    استدعاء نموذج في نافذة مشروطة $(document).ready(function() ( $(document).on("click", ".modal_btn", function())( $("#small-modal").arcticmodal ())؛
    نظرًا لأن النموذج يجب أن يكون مرئيًا فقط في النافذة المشروطة، فيجب إخفاؤه عن طريق وضعه في div باستخدام السمة style = "display: none;" وملفوفًا أيضًا في اثنين من divs القياسية لتصميم النافذة المشروطة.
    س

    لذلك توصلنا إلى الإعدادات الأساسية لتوصيل البرنامج النصي الخاص بنا لإرسال النماذج إلى البريد الإلكتروني. دعونا الآن نلقي نظرة على الداخل ونتعرف على كيفية تكوين الحقول والإشعارات وكل شيء آخر موجود.

    مثال لإعدادات نموذج واحد: يتم تخزين الإعدادات لجميع النماذج في ملف ردود الفعل\index.php
    $form["form-1"] = array("fields" => array("name" => array("title" => "Name", "validate" => array("preg" => "%%" ", "minlength" => "3", "maxlength" => "35",, "messages" => array("preg" => "الحقل [ %1$s ] قد يحتوي على خطأ"، "minlength" " => "الحد الأدنى لطول الحقل [ %1$s ] أقل من المسموح به - %2$s", "maxlength" => "الحد الأقصى لطول الحقل [ %1$s ] أكبر من المسموح به - %2$s", )))، "tell " => array("title" => "Phone"، "validate" => array("preg" => "/^((8|\+)[\- ]?)?(\ (?\d( 3)\)?[\- ]?)?[\d\- ](5,10)$/", "minlength" => "5",), "messages" => array( "preg" => "قد يحتوي الحقل [ %1$s ] على خطأ"، "minlength" => "الحد الأدنى لطول الحقل [ %1$s ] أقل من الطول المسموح به - %2$s"،) )،) "cfg" => array(" charset" => "utf-8"، "subject" => "موضوع البريد الإلكتروني"، "title" => "العنوان في نص البريد الإلكتروني"، " ajax" => صحيح، "التحقق من الصحة" => صحيح، "from_email" = > " [البريد الإلكتروني محمي]", "from_name" => "noreply", "to_email" => " [البريد الإلكتروني محمي], [البريد الإلكتروني محمي]", "to_name" => "noreply1, noreply2", "geoip" => صحيح, "المرجع" => صحيح, "type" => "html", "tpl" => صحيح, "مكافحة البريد العشوائي" => "email77 ", "antispamjs" => "address77", "حسنًا" => "تم إرسال الرسالة - حسنًا"، "اللعنة" => "تم إرسال الرسالة - خطأ"، "بريد عشوائي" => "روبوت البريد العشوائي"، "إعلام" => "color-modal-textbox"، "usepresuf" => false)); // النموذج التالي $form["form-2"] = array("fields" => array(.....
    لإضافة إعدادات لنموذج جديد، يجب عليك اتباع مثال المصفوفة $form["form-1"] لإنشاء مصفوفة جديدة $form[""]

    هل تتذكر ما قلته عن السمة المطلوبة name = ""؟

    السمة المطلوبة لجميع عناصر النموذج هي سمة name = "" - وهي ضرورية لتخصيص النموذج لاحقًا.
    لذا فقد حان الوقت لإخبارك عن سبب استمرار الحاجة إليها.
    name = "" هو المفتاح الأبجدي الرقمي للمصفوفة، ويجب أن يكون فريدًا للمصفوفة $form[""]

    مثال على كود HTML للوضوح

    الآن دعونا نفهم المصفوفات وما هي الحاجة إليها.

    $form["form-1"] = array();
    $form["form-2"] = array(); إلخ.
    هذه هي المصفوفات الرئيسية لكل نموذج جديد، والتي تحتوي على:

  • "الحقول" => المصفوفة(); - مجموعة من الإعدادات لعناصر النموذج.
    • "الاسم" => المصفوفة(); - مصفوفة من إعدادات عناصر النموذج (على سبيل المثال اسم الإدخال = "اسم" نوع = "نص") والتي تحتوي على عدد من الإعدادات.
      • "العنوان" => "اسمك" - سيتم عرض اسم عنصر النموذج في حالة وجود أخطاء أو في القالب
      • "التحقق من الصحة" => array(); - المصفوفة، تحتوي على قواعد التحقق من صحة عناصر النموذج
        • "preg" => "%%" - تعبير عادي
        • "minlength" => "3" - الحد الأدنى لحجم الحقل
        • "maxlength" => "35" - الحد الأقصى لحجم الحقل
        • "substr" => "35" - يتم قصه دائمًا إلى أحرف N
      • "الرسائل" => المصفوفة(); - مصفوفة تحتوي على رسائل التحقق، وهي:
        • "preg" => "عنصر النموذج لا يتطابق مع التعبير العادي"
        • "minlength" => "الحد الأدنى لطول الحقل [ %1$s ] أقل من المقبول - %2$s" - خطأ في التحقق من الصحة، المفتاح (preg) لا يتطابق مع مفتاح التحقق من الصحة
        • "maxlength" => "الحد الأقصى لطول الحقل [ %1$s ] يتجاوز الحد المسموح به - %2$s" - خطأ في التحقق من الصحة، المفتاح (preg) لا يتطابق مع مفتاح التحقق من الصحة
  • "cfg" => array(); - مجموعة من إعدادات النموذج.
    • "charset" => "utf-8" - ترميز
    • "الموضوع" => "موضوع الرسالة"، - موضوع الرسالة
    • "العنوان" => "العنوان في نص الرسالة"، - العنوان في نص الرسالة
    • "ajax" => true، - هذا هو نموذج Ajax TODO (إذا لم تكن هناك حاجة إليه، فاضبطه على false)
    • "validate" => true، - (true) إذا أردنا التحقق من صحة النموذج على الخادم، فاستبدل التحقق من صحة js بـ "ajax" => true. عند إيقاف التشغيل (خطأ)، لا يتعين عليك ضبط إعدادات حقل التحقق من الصحة. لكى يفعل
    • "from_email" => "myemail"، - المرسل، حدد اسم الحقل (الاسم = "myemail")، وإذا لم تكن بحاجة إلى بريد إلكتروني من المستخدم، فعندئذٍ كعب روتين [البريد الإلكتروني محمي]
    • "from_name" => "myname"، - المرسل، حدد اسم الحقل (name = "myname")، وإذا لم تكن بحاجة إلى اسم مستخدم، فعندئذٍ كعب روتين عدم الرد
    • "to_email" => " [البريد الإلكتروني محمي]", - البريد الإلكتروني للمستلم. للإرسال إلى عدة عناوين، قم بإدراجها مفصولة بفواصل. مثال ("to_email" => " [البريد الإلكتروني محمي], [البريد الإلكتروني محمي], [البريد الإلكتروني محمي]",)
    • "to_name" => "noreply1"، - اسم المستلم. عند الإرسال إلى عناوين متعددة، قم بإدراج أسماء المستلمين، مفصولة بفواصل. مثال ("to_name" => "noreply1، noreply2، noreply3"،)
    • "geoip" => صحيح، - اكتشف الموقع باستخدام نوع TODO
    • "referer" => false، - أضف عنوان URL للصفحة التي تم إرسال النموذج منها
    • "نوع" => "عادي"، - نوع الحرف - عادي، html (إذا تم استخدام علامات html)
    • "tpl" => خطأ، - استخدم قالب الحروف. إذا كان صحيحًا، فسيتم ربط ملف القالب وفقًا لاسم النموذج (name="form-1") من المجلد وستتم معالجة الملف (feedback/tpl/form-1.tpl)، وإلا فسيتم إصلاح كل شيء إرسالها كما هي، كل حقل على سطر جديد
    • "antispam" => "email77"، - مكافحة البريد العشوائي، تعتمد الطريقة على حقل مخفي (عرض: لا شيء)، والذي يملأه الروبوت فقط تلقائيًا، وبالتالي يكشف نفسه.
    • "antispamjs" => "address77"، - تعتمد طريقة مكافحة البريد العشوائي على حقل مخفي (عرض: لا شيء)، يتم ملؤه في البداية، والذي يقوم تلقائيًا بمسح جافا سكريبت عند تحميل الصفحة، حتى الروبوت الذكي لا يمكنه توقع ذلك، ثم يتم ذلك محظور.
    • "okay" => "رسالة إلى المستخدم"، - يتم عرض رسالة إلى المستخدم إذا تم إرسال النموذج بنجاح، يمكنك استخدام علامات html.
    • "fuck" => "رسالة إلى المستخدم"، - رسالة إلى المستخدم، تظهر عند حدوث خطأ عند إرسال النموذج، يمكنك استخدام علامات html.
    • "البريد العشوائي" => "رسالة إلى المستخدم"، - رسالة إلى المستخدم، يتم عرضها في حالة الاشتباه بوجود روبوت بريد عشوائي، ويمكنك استخدام علامات html.
    • "notify" => "color-modal"، - ما نوع الإشعارات التي سيتم عرضها، مربع النص - الكتل في الزاوية العلوية من الصفحة، اللون - تمييز الألوان في النموذج، المشروط - نافذة مشروطة في وسط الصفحة، لا شيء - إبطال. يمكنك دمج، على سبيل المثال: نموذج اللون - أخطاء في ملء الحقول بالتظليل، وحالة إرسال النص في نافذة TODO المشروطة
    • "usepresuf" => false - سواء تم استخدام إضافة مخصصة للموضوع أو لعنوان الرسالة، في حالة حدوث تغيير بسيط، يمكنك تحديد على سبيل المثال %%cfg.title.suffix%%، ولهذا يجب أن يكون هناك حقل مخفي في النموذج، لمزيد من التفاصيل، راجع f -qiu presuf()
  • إعداد قوالب الرسائل لذلك. دعونا الآن نلقي نظرة على موضوع رسائلنا.
    أولاً، لكي يتم إرسال النموذج في قالب، في إعدادات النموذج تحتاج إلى تمكين استخدام ملف القالب - "tpl" => true ،
    ثانيًا، تحتاج إلى إنشاء ملف قالب بامتداد *.tpl في المجلد (feedback/tpl/)، وفقًا لاسم النموذج (name="form-1" ).

    مثال: (feedback/tpl/form-1.tpl)

    العنوان في نص البريد الإلكتروني
    %%name.title%% %%اسم.القيمة%%
    %%tell.title%% %%أخبر.القيمة%%

    اسم ، أخبر ، إلخ. - هذه هي السمات (الاسم = ") للحقول التي يملأها المستخدم.
    العنوان - اسم عنصر النموذج، الذي تم تعيينه في صفيف إعدادات عنصر النموذج.
    القيمة - قيمة عنصر النموذج.

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

    ملاحظة. تم تطوير السيناريو من قبل الفريق

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

    مثال 1: إرسال بيانات النموذج

    HTML5 IE Cr Op Sa Fx

    بيانات النموذج

    في هذا المثال، سيتم تمرير بيانات النموذج المشار إليها بواسطة سمة الاسم (تسجيل الدخول وكلمة المرور) إلى الملف الموجود على /example/handler.php. إذا لم يتم تحديد سمة الإجراء، فسيتم النقل إلى عنوان الصفحة الحالية.

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

    يمكن تحديد الطريقة المستخدمة بسهولة من خلال شريط عنوان المتصفح. إذا ظهرت علامة استفهام فيها وكان العنوان يبدو هكذا، فهذا بالتأكيد GET.

    http://www.google.ru/search?q=%D1%81%D0%B8%D1%81%D1%8C%D0%BA%D0%B8&ie=utf-8

    تعمل مجموعة فريدة من المعلمات الموجودة في شريط العناوين على تحديد الصفحة بشكل فريد، لذا فإن الصفحات ذات العناوين ?q=node/add و?q=node تعتبر مختلفة. يتم استخدام هذه الميزة من قبل أنظمة إدارة المحتوى (CMS، نظام إدارة المحتوى) لإنشاء العديد من صفحات الموقع. في الواقع، يتم استخدام ملف واحد يتلقى طلب GET ويقوم، وفقًا له، بإنشاء محتويات المستند.

    فيما يلي قائمة بالتطبيقات النموذجية لهذه الطرق على المواقع.

    يحصل

    نقل البيانات النصية الصغيرة إلى الخادم؛ بحث الموقع.

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

    بريد

    نقل الملفات (الصور، الأرشيف، البرامج، الخ)؛ إرسال التعليقات؛ إضافة وتحرير الرسائل في المنتدى والمدونة.

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

    مثال 2: فتح نموذج في إطار

    HTML5 IE Cr Op Sa Fx

    باستخدام الإطار

    في هذا المثال، عند النقر فوق الزر "إرسال"، يتم فتح نتيجة إرسال النموذج في إطار يسمى المنطقة .

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

    مثال 3: ربط النموذج بالحقول

    HTML5 IE Cr Op Sa Fx

    استمارة

    في هذا المثال، يتم تعريف العلامة بشكل فريد من خلال معرف المصادقة، ويتم إضافة النموذج = "auth" إلى الحقول التي يجب إرسالها عبر النموذج. في هذه الحالة، لا يتغير سلوك العناصر؛ عند النقر على الزر، يتم إرسال معلومات تسجيل الدخول وكلمة المرور إلى معالج Handler.php.

    على الرغم من أن معلمات إرسال النموذج يتم تحديدها بشكل تقليدي في العلامة، إلا أنه يمكن أيضًا نقلها إلى أزرار إرسال النموذج ( و ). لهذا، يتم استخدام مجموعة من السمات formaction وformmethod وformenctype وformtarget، وهي نظائر للسمات المقابلة بدون بادئة النموذج. يوضح المثال 4 استخدام هذه السمات.

    مثال 4: إرسال النموذج

    HTML5 IE Cr Op Sa Fx

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

    جميع سمات النماذج الجديدة غير مدعومة من قبل بعض المتصفحات، وخاصة Internet Explorer وSafari.

    » PHP Sendmail النصي

    PHPSendMail

    لاستخدام النموذج، ما عليك سوى إدخال إعدادات البريد الإلكتروني الخاص بك وهذا كل شيء. بشكل عام، البرنامج النصي جاهز للاستخدام ويعتبر نموذج التعليقات هذا لموقع بتنسيق HTML مزود بمعالج PHP مثاليًا للمواقع الصغيرة ومواقع بطاقات العمل.

    | تم التنزيل: مرات

    PHP بسيط إرسال البريد

    باستخدام برنامج PHP النصي السهل جدًا هذا، سيتمكن زوار موقع الويب الخاص بك من إرسال رسائل البريد الإلكتروني إليك مباشرة عبر نموذج التعليقات.

    | تم التنزيل: مرات

    PHP + AJAX script لإرسال النماذج إلى البريد الإلكتروني

    برنامج نصي عالمي لإرسال البيانات من النماذج إلى البريد الإلكتروني. يعد البرنامج النصي مثاليًا لمواقع مثل Landing Page ومواقع بطاقات العمل وما إلى ذلك.

    | تم التنزيل: مرات

    PHP Mailer النهائي مع كلمة التحقق

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

    | تم التنزيل: مرات

    بريد نموذج GentleSource

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

    | تم التنزيل: مرات

    مايكرو ميلر

    Micro Mailer هو برنامج PHP صغير يسمح لك ولزائري موقع الويب الخاص بك بإرسال خطاب إلى أي مستلم.

    | تم التنزيل: مرات

    Web4you-FM

    Web4you-FM إرسال خطاب من موقع الويب الخاص بك. المميزات: 1 - تحديد المستلم وعددهم (من 1 إلى 4). 2- التأكد من تعبئة النموذج بشكل صحيح. إلى من. اسماء فقط حروف...

    | v.1.0 | تم التنزيل: مرات

    نموذج اتصال PHP خفيف

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

    | تم التنزيل: مرات

    بريد دودوس

    DodosMail هو برنامج نصي PHP سهل التثبيت يسمح لك بإرسال رسائل البريد الإلكتروني عبر نموذج الملاحظات على موقع الويب الخاص بك. كل ما عليك فعله هو تحميل ملف php.

    | v.2.5 | تم التنزيل: مرات

    نموذج الاتصال PHP

    يتضمن البرنامج النصي لنموذج اتصال PHP الوظائف التالية: 1) وظيفة منع البريد العشوائي. يجب على المستخدم إدخال رمز الحماية، المعروف أيضًا باسم captcha.

    | تم التنزيل: مرات

    جهة اتصال TPCS (نموذج البريد الإلكتروني)

    سيسمح البرنامج النصي للاتصال TPCS هذا للزائرين بالاتصال بك من خلال نموذج التعليقات. سيتم إرسال جميع المعلومات إليك عبر البريد الإلكتروني.

    | تم التنزيل: مرات

    مرسل ردود الفعل

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

    | v.1.2 | تم التنزيل: مرات

    نموذج اتصال PHP سهل

    برنامج نصي PHP بسيط ولكنه آمن للاتصال بمشرف الموقع باستخدام نموذج التعليقات مع التحقق من الرمز (CAPTCHA) لمنع البريد العشوائي.

    | v.2.1 | تم التنزيل: مرات

    نموذج اتصال PHP (مع التحقق من الصورة)

    نموذج اتصال يمنع البريد العشوائي عن طريق مطالبة المستخدم بإدخال رمز الأمان من صورة. إذا كنت تستخدم نموذج تعليقات بسيطًا جدًا، فعاجلاً أم آجلاً سيجد مرسلي البريد العشوائي طريقة لإرسال الإعلانات إليك تلقائيًا.

    | تم التنزيل: مرات

    بريد نموذج CW3

    من السهل جدًا تثبيت البرنامج النصي وتخصيصه ليتناسب مع مظهر موقعك. يمكنك تغيير حجم نموذج الملاحظات ونص الرسالة التي يتم عرضها عند إرسال الرسالة بنجاح.

    | v.3.30 | تم التنزيل: مرات

    نموذج الاتصال ريكابتشا

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

    | v.1.4 | تم التنزيل: مرات

    phMailer

    phMailer هو برنامج PHP بسيط جدًا للتعليقات يدعم مرفقات الملفات بفضل وظيفة mail() المضمنة في لغة PHP.

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

    الميزات والإمكانيات المميزة للمكون الإضافي لتقديم النموذج العالمي:

    • التحقق من اكتمال النماذج مع إمكانية تجميع العناصر وعرض التلميحات للمستخدم
    • العديد من القوالب للإرسال مع إمكانية تحديد القالب تلقائيًا
    • تشغيل النموذج دون إعادة التحميل - AJAX
    • معالجة الطلبات الناجحة والفاشلة
    • رؤوس البريد الإلكتروني الفريدة
    • إرسال الملفات عن طريق البريد الإلكتروني

    يتكون البرنامج الإضافي العالمي لإرسال النماذج مع التحقق من البريد الإلكتروني من الأجزاء الرئيسية:

    • نموذج HTML لملء
    • البرنامج النصي JQuery لفحص وإرسال AJAX
    • برنامج PHP النصي لأتمتة معالجة البيانات المرسلة من النموذج، وربط قوالب الرسائل ومعالجة نتيجة الإرسال
    • PHPMailer كعميل SMTP لإرسال بريد إلكتروني
    • ملفات TPL لقوالب إرسال البريد الإلكتروني
    تثبيت نموذج إضافي على مضيف خادم الويب وإرسال النموذج إلى البريد الإلكتروني لأول مرة

    بعد تنزيل البرنامج الإضافي وتفريغه، سنرى شجرة الملفات والأدلة التالية:

    /css/style.css // ملف الأنماط الرئيسية /css/font-awesome.css // ملف نمط الخط FontAwesome /fonts/* // ملفات الخطوط /js/script.js // برنامج JQuery للتحقق وتقديم نموذج AJAX / mail -tpl/* // دليل ملف القالب /php/phpmailer/* // دليل ملف PHPMailer /php/config.php // تكوين اتصال SMTP /php/function-send-form.php // وظيفة المعالجة والإرسال الشامل عن طريق البريد الإلكتروني Index.html // نموذج تقديم HTML

    لمزيد من الخبرة الأولى في تقديم نموذج تجريبي، نحتاج إلى تكوين الملف /php/config.php:

    $__smtp = array("host" => "smtp.host.ru"، "debug" => 0، "auth" => صحيح، "port" => "465"، "اسم المستخدم" => " [البريد الإلكتروني محمي]", "كلمة المرور" => "123456", "addreply" => " [البريد الإلكتروني محمي]", "رد على" => " [البريد الإلكتروني محمي]", "آمن" => "ssl");

    لن نتناول بالتفصيل إجراءات تكوين ملف config.php.

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

    http(https)://domen.domen/path/to/dir/index.html

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

    تركيب وتكامل البرنامج المساعد لإرسال النموذج العالمي عن طريق البريد الإلكتروني إلى الموقع

    لتثبيت البرنامج المساعد على موقع موجود، تحتاج إلى:

    1. انسخ قائمة الملفات والأدلة التالية: /js/script.js // البرنامج النصي JQuery للتحقق وإرسال نموذج AJAX /mail-tpl/* // دليل ملف القالب /php/phpmailer/* // دليل ملف PHPMailer / php/config .php // تكوين اتصال SMTP /php/function-send-form.php // وظيفة المعالجة والإرسال الشامل إلى البريد الإلكتروني2. قم بإنشاء نموذج جديد أو تحرير نموذج موجود باستخدام المثال التالي: راديو الملاحظات 1 راديو 2 راديو 3 لقد قرأت القواعد وأوافق عليها إرسال

    وصف وتعيين سمات النموذج الرئيسية للبرنامج النصي للعمل بشكل صحيح. يتم تمييز معلمات البرنامج النصي الاختيارية بخط مائل غامق:

    2.1. علامة النموذج:

    الاسم - يحدد اسم قالب tpl عند معالجة مصفوفة POST المستلمة بواسطة البرنامج النصي function-send-form.php. يجب أن يتوافق اسم قالب الرسالة مع قيمة سمة الاسم ويتم تشكيله باستخدام القناع ".tpl"

    طريقة- قيمة السمة هي دائمًا POST. وإلا فإن وظيفة معالجة النماذج PHP لن تعمل. بشكل افتراضي، يركز البرنامج النصي لمعالجة البيانات function-send-form.php فقط على معلمات نموذج POST.

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

    2.2. يمكن أن تحتوي الحقول المراد ملؤها داخل النموذج على السمات التالية:

    الاسم - يحدد اسم معلمة POST

    النوع - للتشغيل الصحيح للنموذج والتعرف على أنواع عناصر النموذج، يوصى باستخدام السمة للاستخدام الإلزامي

    عنوان- يعرض تلميحًا في العلامة التي تحددها الفئات في سمة معلومات التأكيد للعلامة الحالية

    فصل- جميع الحقول المطلوب تعبئتها والتحقق منها يجب أن تحتوي على الفئة "Y-required" و"group000_Y-required" في قيمة السمة. group000_Y-required - يقوم بتجميع العناصر المطلوبة في مجموعات للتحقق مما إذا كان أحد عناصر المجموعة ممتلئًا. لا يحتاج الراديو إلى التجميع، ويتم التجميع على سمة الاسم، كما هو مقصود من قبل مطوري النوع

    تأكيد المعلومات- تحدد قيمة السمة فئة العلامة التي يتم فيها عرض تحذير بشأن عنصر نموذج فارغ

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

    يمكن أخذ أسلوب هذا النموذج من المثال، أو يمكنك تطويره بنفسك.

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

    يعمل البرنامج المساعد لإرسال نموذج إلى البريد الإلكتروني على عدة مراحل ووفقًا للمبدأ التالي.

    1. يتم تشغيل حدث إرسال النموذج مع فئة المرسل.

    2. يعترض حدث إرسال النموذج البرنامج النصي JQuery ويبدأ إجراء للتحقق من ملء النموذج بشكل صحيح.

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

    4. إذا نجح التحقق من النموذج، فسيتم تشغيل وظيفة إرسال نموذج AJAX مع طلب إلى المعالج (الرابط) المحدد في سمة الإجراء.

    5. يتلقى معالج الخادم المعلمات الضرورية لطلب AJAX، ويربط قالب الرسالة المطلوب (استنادًا إلى سمة اسم النموذج - معلمة قالب POST). بعد ذلك، تتم تهيئة فئة PHPMailer، ويتم تشكيل نص الرسالة والرؤوس وإجراءات إرسال الرسالة إلى البريد الإلكتروني.

    6. في حالة إرسال الرسالة بنجاح أو فشل، سيقوم معالج الخادم بإرجاع الرسالة المقابلة إلى الصفحة في البرنامج النصي JQuery

    قواعد إنشاء وتحرير قوالب رسائل tpl

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

    دعونا نلقي نظرة على مثال من الأرشيف:

    طلب معاودة الاتصال من:

    معلومات ردود الفعل:

    وقت معاودة الاتصال:

    رسالة نصية:

    // قم بتضمين تذييل الرسالة، المشابه للرأس

    كما يمكنك الاستبدال، فإن قيم سمات الاسم لعلامات النموذج مطابقة لأسماء المتغيرات في قالب حرف tpl. هذا صحيح، هذا هو الحال!

    نضع جميع القوالب التي تم إنشاؤها حديثًا في دليل mail-tpl بامتداد الملف .tpl.

    يجب أن يتطابق اسم مستند tpl مع قيمة سمة الاسم الخاصة بنموذج التقديم على الموقع.

    انتهاء

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

    تاريخ الإضافة: 2011-12-01

    

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

    عملية إنشاء نموذج وإرسال خطاب بسيطة. ولكن هناك بعض اللحظات التي يمكن أن تفسد مزاجك طوال اليوم.

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

    المشكلة الثانية هي رسائل البريد الإلكتروني غير المرغوب فيها. يمكن لبعض الأفراد الموهوبين "بدلاً من ذلك" الضغط على زر الإرسال (الفيضان) إلى ما لا نهاية. يمكن أن تشمل هذه أيضًا الروبوتات - وهي برامج مكتوبة خصيصًا تضغط على الأزرار نفسها.

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

    إذا كانت الصعوبات الموصوفة لا تخيفك وترغب في تلقي رسائل من الموقع، فتابع...

    لنبدأ بمثال بسيط بدون أي أجراس وصفارات.

    لنقم بإنشاء ملف Forms.php الذي سيحتوي على نموذج لإرسال رسالة.

    لقد قمنا للتو بإنشاء نموذج يحتوي على حقلين نصيين وزر. يرجى ملاحظة أننا حددنا طريقة النشر للنموذج وحددنا المسار إلى معالج النموذج - mail.php - في معلمة الإجراء. وبطبيعة الحال، يمكنك تحديد عنوانك واسم آخر للملف.

    لنقم الآن بإنشاء ملف mail.php (في مثالنا يجب أن يكون في نفس المجلد).

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

    تعزيز الدفاع

    في المثال الموصوف، هناك الحد الأدنى من الحماية في شكل وظيفة htmlspecialchars. شكل آخر من أشكال الحماية يمكن أن يكون استخدام الجلسات.

    في بداية الملف الأول، أدخل ما يلي.