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

21.08.2020

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

لغة ترميز HTML نفسها بسيطة؛ كل ما عليك فعله هو معرفة كيفية ومكان وضع علامات معينة. مع لغة برمجة PHP، الأمور أكثر تعقيدًا بعض الشيء.

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

إنشاء نموذج إرسال البيانات في HTML

السطر الأول سيكون على النحو التالي

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

دعونا نعود إلى النموذج. سيحتوي السطر الثاني على حقل لإدخال اسمك الكامل. لديه الكود التالي:

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

السطر التالي:

هنا كل شيء تقريبا هو نفسه، ولكن اسم الحقل هو البريد الإلكتروني، والتفسير هو أن المستخدم يدخل عنوان بريده الإلكتروني في هذا النموذج.

سيكون السطر التالي هو زر "إرسال":

وسيكون السطر الأخير في النموذج هو العلامة

الآن دعونا نجمع كل شيء معًا.





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





قم بإنشاء ملف يقبل البيانات من نموذج HTML

سيكون هذا ملفًا يسمى send.php

في الملف، في المرحلة الأولى، تحتاج إلى قبول البيانات من مصفوفة النشر. للقيام بذلك، نقوم بإنشاء متغيرين:

$fio = $_POST["fio"];
$email = $_POST["email"];

تُسبق أسماء المتغيرات في لغة PHP بعلامة $، ويتم وضع فاصلة منقوطة في نهاية كل سطر. $_POST عبارة عن مصفوفة يتم إرسال البيانات من النموذج إليها. في نموذج html، يتم تحديد طريقة الإرسال على أنها طريقة = "post". وبالتالي، يتم أخذ متغيرين من نماذج أتش تي أم أل. لحماية موقعك، تحتاج إلى تمرير هذه المتغيرات من خلال عدة مرشحات - وظائف php.

ستقوم الوظيفة الأولى بتحويل كافة الأحرف التي سيحاول المستخدم إضافتها إلى النموذج:

في هذه الحالة، لا يتم إنشاء متغيرات جديدة في PHP، ولكن يتم استخدام المتغيرات الموجودة. ما سيفعله الفلتر هو تحويل الشخصية "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

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

$fio = urldecode($fio);
$email = urldecode($email);

أما الدالة الثالثة فسوف نقوم بإزالة المسافات من بداية السطر ونهايته إن وجدت:

$fio = تقليم($fio);
البريد الإلكتروني $ = تقليم($email);

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

التحقق من صحة البيانات المنقولة من نموذج HTML إلى ملف PHP

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

صدى $FIO;
صدى "
";
صدى البريد الإلكتروني $؛

السطر الثاني هنا ضروري لفصل مخرجات متغيرات php إلى أسطر مختلفة.

إرسال البيانات المستلمة من نموذج HTML إلى البريد الإلكتروني باستخدام PHP

لإرسال البيانات عبر البريد الإلكتروني، تحتاج إلى استخدام وظيفة البريد في PHP.

mail("إلى أي عنوان سيتم إرساله"، "موضوع الرسالة"، "الرسالة (نص الرسالة)"،"من: من أي بريد إلكتروني يتم إرسال الرسالة \r\n");

على سبيل المثال، تحتاج إلى إرسال البيانات إلى البريد الإلكتروني لمالك الموقع أو مديره [البريد الإلكتروني محمي].

يجب أن يكون موضوع الرسالة واضحا، ويجب أن تحتوي رسالة الرسالة على ما حدده المستخدم في نموذج HTML.

بريد(" [البريد الإلكتروني محمي]"، "الطلب من الموقع"، "الاسم الكامل:".$fio.". البريد الإلكتروني: ".$email،"من: [البريد الإلكتروني محمي]\r\n");

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

إذا (البريد(" [البريد الإلكتروني محمي]"، "الطلب من الموقع"، "الاسم الكامل:".$fio.". البريد الإلكتروني: ".$email،"من: [البريد الإلكتروني محمي]\r\n"))
{
صدى "تم إرسال الرسالة بنجاح" ؛
) آخر (
}

وبالتالي، فإن رمز البرنامج الخاص بملف send.php، الذي سيرسل بيانات نموذج HTML إلى البريد الإلكتروني، سيبدو كما يلي:

$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = تقليم($fio);
البريد الإلكتروني $ = تقليم($email);
//صدى $fio;
//صدى "
";
// صدى $ البريد الإلكتروني؛
إذا (البريد(" [البريد الإلكتروني محمي]"، "الطلب من الموقع"، "الاسم الكامل:".$fio.". البريد الإلكتروني: ".$email،"من: [البريد الإلكتروني محمي]\r\n"))
(صدى "تم إرسال الرسالة بنجاح"؛
) آخر (
صدى "حدثت أخطاء أثناء إرسال الرسالة"؛
}?>

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

نضع كود HTML وPHP لإرسال النموذج في ملف واحد

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

لتنفيذ هذا العمل، تحتاج إلى وضع كود HTML الخاص بالنموذج في ملف send.php وإضافة شرط يتحقق من وجود المتغيرات في مصفوفة POST (يتم إرسال هذه المصفوفة من النموذج). أي أنه إذا كانت المتغيرات في المصفوفة غير موجودة، فأنت بحاجة إلى إظهار النموذج للمستخدم. بخلاف ذلك، ستحتاج إلى تلقي البيانات من المصفوفة وإرسالها إلى المستلم.

دعونا نرى كيفية تغيير كود PHP في ملف send.php:



نموذج الطلب من الموقع


// تحقق من وجود المتغيرات في مصفوفة POST
إذا(!isset($_POST["fio"]) و !isset($_POST["email"]))(
?>





) آخر (
// اعرض النموذج
$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = تقليم($fio);
البريد الإلكتروني $ = تقليم($email);
إذا (البريد(" [البريد الإلكتروني محمي]"، "الطلب من الموقع"، "الاسم الكامل:".$fio.". البريد الإلكتروني: ".$email،"من: [البريد الإلكتروني محمي]\r\n"))(
صدى "تم إرسال الرسالة بنجاح"؛
) آخر (
صدى "حدثت أخطاء أثناء إرسال الرسالة"؛
}
}
?>



نتحقق من وجود متغير في مصفوفة POST باستخدام دالة PHP isset(). علامة التعجب قبل هذه الدالة في الحالة تعني النفي. أي أنه إذا كان المتغير غير موجود، فعلينا إظهار النموذج الخاص بنا. إذا لم أضع علامة تعجب، فإن الشرط يعني حرفيًا "إذا كان موجودًا، فقم بإظهار النموذج". وهذا خطأ في حالتنا. وبطبيعة الحال، يمكنك إعادة تسميته إلى Index.php. إذا قمت بإعادة تسمية الملف، فلا تنس إعادة تسمية اسم الملف في السطر

. يجب أن يرتبط النموذج بنفس الصفحة، على سبيل المثال، Index.php. أضفت عنوان الصفحة إلى الكود.

الأخطاء الشائعة التي تحدث عند إرسال نموذج PHP من موقع ويب

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

ini_set("display_errors"،"On")؛
error_reporting("E_ALL");

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

وبالتالي، من أجل التشغيل الصحيح، أوصي بوضع ملف send.php على استضافة الموقع. كقاعدة عامة، تم تكوين كل شيء بالفعل هناك.

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

إذا (البريد(" [البريد الإلكتروني محمي]"، "الطلب من الموقع"، "الاسم الكامل:".$fio.". البريد الإلكتروني: ".$email،"من: [البريد الإلكتروني محمي]\r\n"))

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

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

بريد إلكتروني

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

إذا قمت بكتابة عنوان موقع أو صفحة يدويًا، فلن يعمل الرابط بهذه الطريقة. لإصلاح ذلك، حاول كتابة http:// أو www في بداية الرابط. أي أنه بدلاً من site.com تحتاج إلى كتابة http://site.com أو www.site.com وبعد ذلك سيكون الرابط قابلاً للنقر عليه.

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

زملاء الدراسة

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

فكونتاكتي

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

ما هي بعض الطرق لإرسال صفحة ويب إلى البريد الإلكتروني؟
وبطرق مختلفة حسب ما قصده صاحب السؤال.

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

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

في الحالة الأولى، سيكون من الأسهل فتح الصفحة إذا تم تحديد تنسيق صورة شائع - bmp، jpg، gif. وفي الحالة الثانية، قد تكون هناك مشاكل في عرض صفحة محفوظة في متصفح ولكن تم فتحها في متصفح آخر، وقد لا يتم عرضها بشكل صحيح أو قد لا يتم فتحها على الإطلاق.

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

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

للقيام بذلك، يمكنك استخدام خدمات الأرشفة المتخصصة عبر الإنترنت، على سبيل المثال - Archive.today: archive today

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

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

على سبيل المثال، نسخة اليوم من صفحة الأسئلة الشائعة في موسكو (مع ملف مضغوط) متاحة هنا: أرشيف اليوم

يمكنك أيضًا استخدام الخدمات عبر الإنترنت لالتقاط لقطات الشاشة، على سبيل المثال Web-capture: web-capture net

ما هي بعض الطرق لإرسال صفحة ويب إلى البريد الإلكتروني؟
وبطرق مختلفة حسب ما قصده صاحب السؤال.

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

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

في الحالة الأولى، سيكون من الأسهل فتح الصفحة إذا تم تحديد تنسيق صورة شائع - bmp، jpg، gif. وفي الحالة الثانية، قد تكون هناك مشاكل في عرض صفحة محفوظة في متصفح ولكن تم فتحها في متصفح آخر، وقد لا يتم عرضها بشكل صحيح أو قد لا يتم فتحها على الإطلاق.

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

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

للقيام بذلك، يمكنك استخدام خدمات الأرشفة المتخصصة عبر الإنترنت، على سبيل المثال - Archive.today: archive today

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

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

على سبيل المثال، نسخة اليوم من صفحة الأسئلة الشائعة في موسكو (مع ملف مضغوط) متاحة هنا: أرشيف اليوم

يمكنك أيضًا استخدام الخدمات عبر الإنترنت لالتقاط لقطات الشاشة، على سبيل المثال Web-capture: web-capture net