Uy / Xavfsizlik / HTML va PHP yordamida elektron pochta orqali ma'lumotlarni yuborishning eng oddiy shakli. Qanday qilib bir marta bosish bilan o'zingizga veb-sahifani elektron pochta orqali yuborishingiz mumkin

HTML va PHP yordamida elektron pochta orqali ma'lumotlarni yuborishning eng oddiy shakli. Qanday qilib bir marta bosish bilan o'zingizga veb-sahifani elektron pochta orqali yuborishingiz mumkin

Veb-sahifani "kesish" ning ko'plab usullari mavjud.

Lekin Pocket ilova va Pocket hisobini talab qiladi. Bu shuni anglatadiki, siz boshqa dasturni o'rnatishingiz, xizmatga kirishingiz, sinxronizatsiya qilishingiz va hokazo. Agar siz pochta qutingizdan foydalanib, xuddi shunday qilsangiz yaxshi bo'lardi.

Bu EmailThis g'oyasi, uning nomi aynan shuni nazarda tutadi. Bir marta bosish bilan ushbu xatcho'p (yoki kengaytma,
Agar siz Chrome foydalanuvchisi bo'lsangiz) joriy veb-sahifani sizga etkazib beradi pochta qutisi. Va, Pocket kabi, bu xizmat barcha reklamalarni o'chirib tashlaydi va do'stona emas mobil qurilmalar formatlash, sizga shunchaki oson o'qiladigan matn va rasmlarni qoldiradi. (Agar siz saytga qaytmoqchi bo'lsangiz, u quyidagi asl havolani ham taqdim etadi.)

Dastlabki sozlashni (ingliz tilida) tugatganingizdan so'ng, Email-dan foydalanib, bu tom ma'noda tugmani bosishdir: hozir ko'rayotgan sahifangizni o'zingizga yubormoqchi bo'lganingizda xatcho'pni (yoki kengaytma belgisini) bosing.

Qizig'i shundaki, xatcho'p Android va iOS brauzerlari bilan ham mos keladi, lekin undan foydalanish biroz ko'proq harakat talab qiladi. Android foydalanuvchilari manzillar qatoriga “buni elektron pochta orqali yuborish”ni kiritishlari kerak, iOS foydalanuvchilari esa saqlangan xatcho‘plarini ochib, “Buni elektron pochta orqali yuborish” tugmasini bosishlari kerak.

Albatta, ko'pchilikda mobil brauzerlar Ajoyib ishlaydigan "keyinroq o'qing" varianti mavjud. Ammo agar siz sahifani pochta qutingizga yetkazishni istasangiz, bu eng yaxshi usul.

Afsuski, EmailThis bilan mos kelmaydi Microsoft Edge, bu xatcho'plarni qo'llab-quvvatlamaydi. Agar vaqtinchalik yechim topsangiz, sharhlarda menga xabar berishni unutmang.

Men vositani turli veb-sahifalar bilan sinab ko'rdim. Ularning aksariyati bilan ajoyib ishladi. Men o'rnatilgan tasvirlarning ba'zilari "kesib olinmayotganini" payqadim, ehtimol ular uchinchi tomonda joylashtirilgan. Umuman olganda, men EmailThisni har qanday veb-sahifani pochta qutingizga yuborishning tez va oson usuli deb topdim.

Va menga bu variant "keyinroq o'qish" opsiyalaridan ko'ra ko'proq yoqadi, chunki mening pochta qutim vazifalar ro'yxati funksiyasini takrorlaydi. Shunday qilib, men muhim deb hisoblagan veb-kontent unutilmaydi yoki e'tibordan chetda qolmaydi.

Muharrir eslatmasi: Ushbu maqola dastlab 2014-yil 25-fevralda nashr etilgan va bugungi kunda yangilangan.

Veb-sahifani elektron pochtaga yuborishning qanday usullari bor?
Savol muallifi nimani nazarda tutganiga qarab, turli yo'llar bilan.

Misol uchun, agar sizda skrinshot dasturi bo'lsa, siz ekran tasvirini olishingiz mumkin sahifani oching va uni elektron pochta orqali kerakli odamga rasm sifatida yuboring. Bunday holda, tasvir o'lik bo'ladi va havolalar ishlamaydi.

Menimcha, to'g'ri javob standart usullardan foydalangan holda sahifani saqlashdir. Brauzerdagi "fayl" menyusini bosing, keyin "boshqacha saqlash" ni bosing va butun veb-sahifani saqlang. Agar ushbu sahifa yuborilgan shaxs Internetga kirish imkoniga ega bo'lsa, u sahifadagi havolalarni kuzatishi mumkin, ular ishlaydi.

Birinchi holda, umumiy tasvir formati - bmp, jpg, gif tanlangan bo'lsa, sahifani ochish osonroq bo'ladi. Ikkinchi holda, bir brauzerda saqlangan, lekin boshqasida ochilgan sahifani ko'rsatish bilan bog'liq muammolar bo'lishi mumkin, u to'g'ri ko'rsatilmasligi yoki umuman ochilmasligi mumkin;

Ikkala holat ham arxivda saqlash, Internetga doimiy kirish imkoniga ega bo'lmagan shaxsga yuborish uchun mo'ljallangan. Bunday holda, uni xatga biriktirish yaxshiroqdir.

Ammo agar odam doimo Internetga ega bo'lsa, nima uchun unga sahifani saqlash va yuborish yoki ilova qilish kerak? Manzil satrida kerakli sahifaning havolasini nusxalash va uni xatning asosiy qismiga joylashtirish ancha oson.

Buning uchun siz ixtisoslashgan foydalanishingiz mumkin onlayn xizmatlar arxivlash uchun, masalan - Archive.today: arxiv bugun

Bu yerda siz faqat resursning URL manzilini joylashtirishingiz kerak va tizimning o'zi zip faylini va veb-sahifaning "oniy rasmiga" URL havolasini yaratadi, bu asl nusxa yo'qolib qolsa ham, har doim onlayn bo'ladi.

Zip faylga biriktirilishi mumkin elektron pochta, veb-sahifaning "oniy rasmiga" havolani elektron pochta maydoniga joylashtiring va barchasini orqali yuboring elektron pochta yoki boshqa yo'l bilan saqlang.

Masalan, Moskva FAQ sahifasining bugungi versiyasi (zip fayli bilan birga) bu erda mavjud: bugun arxiv

Shuningdek, skrinshot olish uchun onlayn xizmatlardan foydalanishingiz mumkin, masalan, Web-capture: web-capture net

Internetda juda ko'p qiziqarli va foydali kontent mavjud. Ba'zan do'stingizga havola yuborish ancha oson bo'ladi qiziqarli ma'lumotlar uni saytdan nusxalash va boshqa yo'llar bilan yuborish o'rniga. Qanday qilib havolani iloji boricha qulayroq yuborish kerak?

Elektron pochta

Ko'pgina zamonaviy elektron pochta xizmatlari havolani kiritish imkoniyatini qo'llab-quvvatlaydi. Ya'ni, uni brauzeringizning manzil satridan nusxalashingiz kerak, keyin uni xatga qo'ying va u "bosiladigan" bo'ladi, ya'ni uni bosgandan so'ng, kerakli sahifa avtomatik ravishda ochiladi.

Agar siz sayt yoki sahifa manzilini qo'lda yozsangiz, havola bu tarzda ishlamaydi. Buni tuzatish uchun havolaning boshida http:// yoki www yozing. Ya'ni, site.com o'rniga siz http://site.com yoki www.site.com yozishingiz kerak Shundan so'ng, havolani bosish mumkin bo'ladi.

Shuningdek, siz xatdagi ba'zi so'zlarga havola qo'shishingiz mumkin. Buni amalga oshirish uchun siz ularni tanlashingiz va asboblar panelidagi "Havola qo'shish" tugmasini bosishingiz kerak, so'ngra oynada kerakli sahifaning manzilini ko'rsatishingiz kerak. Agar sizning pochtangiz html teglaridan foydalanishni qo'llab-quvvatlasa, siz quyidagi havolani kiritishingiz mumkin: havolani biriktirgan so'zlar.

Sinfdoshlar

Odnoklassniki-da havolani yuborishdan oldin, buni amalga oshirishga imkon beruvchi maxsus dasturiy ta'minotni yuklab olishingiz kerak. Shunday dasturlardan biri GF Tools. Bu mutlaqo bepul va ulardan foydalanish juda oson. Shuningdek, havola matnini boshqa foydalanuvchiga yuborgan xabaringizga shunchaki joylashtirishingiz mumkin. U devorga ham osib qo'yilishi mumkin.

VKontakte

Havolani devordagi holat va xabarlarga ham kiritishingiz mumkin. Bunday holda, havola barcha foydalanuvchilar uchun ham "bosiladigan" bo'ladi. Devorga havolani kiritganingizda, sayt skripti avtomatik ravishda havola berilgan sahifadagi birinchi rasmni, shuningdek, undan bir necha qator matnlarni ko'rsatadi.

Veb-sahifani elektron pochtaga yuborishning qanday usullari bor?
Savol muallifi nimani nazarda tutganiga qarab, turli yo'llar bilan.

Misol uchun, agar sizda skrinshot olish uchun dastur mavjud bo'lsa, siz ochiq sahifaning skrinshotini olishingiz va uni kerakli odamning elektron pochta manziliga rasm sifatida yuborishingiz mumkin. Bunday holda, tasvir o'lik bo'ladi va havolalar ishlamaydi.

Menimcha, to'g'ri javob standart usullardan foydalangan holda sahifani saqlashdir. Brauzerdagi "fayl" menyusini bosing, keyin "boshqacha saqlash" ni bosing va butun veb-sahifani saqlang. Agar ushbu sahifa yuborilgan shaxs Internetga kirish imkoniga ega bo'lsa, u sahifadagi havolalarni kuzatishi mumkin, ular ishlaydi.

Birinchi holda, umumiy tasvir formati - bmp, jpg, gif tanlangan bo'lsa, sahifani ochish osonroq bo'ladi. Ikkinchi holda, bir brauzerda saqlangan, lekin boshqasida ochilgan sahifani ko'rsatish bilan bog'liq muammolar bo'lishi mumkin, u to'g'ri ko'rsatilmasligi yoki umuman ochilmasligi mumkin;

Ikkala holat ham arxivda saqlash, Internetga doimiy kirish imkoniga ega bo'lmagan shaxsga yuborish uchun mo'ljallangan. Bunday holda, uni xatga biriktirish yaxshiroqdir.

Ammo agar odam doimo Internetga ega bo'lsa, nima uchun unga sahifani saqlash va yuborish yoki ilova qilish kerak? Manzil satrida kerakli sahifaning havolasini nusxalash va uni xatning asosiy qismiga joylashtirish ancha oson.

Buning uchun siz maxsus onlayn arxivlash xizmatlaridan foydalanishingiz mumkin, masalan - Archive.today: arxiv bugun

Bu yerda siz faqat resursning URL manzilini joylashtirishingiz kerak va tizimning o'zi zip faylini va veb-sahifaning "oniy rasmiga" URL havolasini yaratadi, bu asl nusxa yo'qolib qolsa ham, har doim onlayn bo'ladi.

Zip-fayl elektron pochtaga biriktirilishi mumkin, veb-sahifaning "oniy rasmi" ga havolani elektron pochta maydoniga kiritish mumkin va hamma narsa elektron pochta orqali yuborilishi yoki boshqa yo'l bilan saqlanishi mumkin.

Masalan, Moskva FAQ sahifasining bugungi versiyasi (zip fayli bilan birga) bu erda mavjud: bugun arxiv

Shuningdek, skrinshot olish uchun onlayn xizmatlardan foydalanishingiz mumkin, masalan, Web-capture: web-capture net

Saytdagi eng mashhur funktsiyalardan biri bu ariza yoki buyurtma shakli bo'lib, undan ma'lumotlar elektron pochta orqali sayt egasiga yuboriladi. Qoida tariqasida, bunday shakllar oddiy va ma'lumotlarni kiritish uchun ikki yoki uchta maydondan iborat. Bunday buyurtma shaklini qanday yaratish mumkin? Bu HTML belgilash tili va PHP dasturlash tilidan foydalanishni talab qiladi.

HTML belgilash tilining o'zi oddiy, siz faqat qanday qilib va ​​qayerga ma'lum teglarni qo'yish kerakligini aniqlashingiz kerak. PHP dasturlash tili bilan ishlar biroz murakkabroq.

Dasturchi uchun bunday shaklni yaratish qiyin emas, lekin HTML maket dizayneri uchun ba'zi harakatlar qiyin bo'lib tuyulishi mumkin.

Html-da ma'lumotlarni taqdim etish shaklini yarating

Birinchi qator quyidagicha bo'ladi

Bu shaklning juda muhim elementidir. Unda ma'lumotlar qanday va qaysi faylga uzatilishini ko'rsatamiz. IN Ushbu holatda hamma narsa send.php fayliga POST usuli yordamida yuboriladi. Ushbu fayldagi dastur mos ravishda ma'lumotlarni olishi kerak, u postlar qatorida bo'ladi va uni belgilangan elektron pochta manziliga yuboradi.

Keling, formaga qaytaylik. Ikkinchi qatorda to'liq ismingizni kiritish uchun maydon bo'ladi. Quyidagi kodga ega:

Shakl turi - bu matn, ya'ni foydalanuvchi bu yerga klaviaturadan matn kiritishi yoki nusxalashi mumkin bo'ladi. Name parametri forma nomini o'z ichiga oladi. Bunday holda, foydalanuvchi ushbu maydonga kiritgan barcha ma'lumotlar shu nom ostida uzatiladi. To'ldiruvchi parametri tushuntirish sifatida ushbu maydonga nima yozilishini belgilaydi.

Keyingi qator:

Bu erda deyarli hamma narsa bir xil, ammo maydon nomi elektron pochta bo'lib, tushuntirish foydalanuvchi o'z elektron pochta manzilini ushbu shaklda kiritadi.

Keyingi qator "yuborish" tugmasi bo'ladi:

Va shakldagi oxirgi qator teg bo'ladi

Endi hamma narsani birlashtiramiz.





Endi formadagi maydonlarni majburiy qilib ko'raylik. Bizda quyidagi kod mavjud:





HTML formasidan ma'lumotlarni qabul qiladigan fayl yarating

Bu send.php deb nomlangan fayl bo'ladi

Faylda, birinchi bosqichda, siz post qatoridan ma'lumotlarni qabul qilishingiz kerak. Buning uchun biz ikkita o'zgaruvchini yaratamiz:

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

PHP tilidagi oʻzgaruvchilar nomlaridan oldin $ belgisi qoʻyiladi va har bir satr oxirida nuqta-vergul qoʻyiladi. $_POST - bu shakldagi ma'lumotlar yuboriladigan massiv. Html shaklida yuborish usuli method="post" sifatida ko'rsatilgan. Shunday qilib, html shaklidan ikkita o'zgaruvchi qabul qilinadi. Saytingizni himoya qilish uchun siz ushbu o'zgaruvchilarni bir nechta filtrlardan o'tishingiz kerak - php funktsiyalari.

Birinchi funktsiya foydalanuvchi shaklga qo'shishga harakat qiladigan barcha belgilarni o'zgartiradi:

Bunda php da yangi o'zgaruvchilar yaratilmaydi, lekin mavjudlaridan foydalaniladi. Filtr belgini o'zgartiradi "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Agar foydalanuvchi uni formaga qo'shishga harakat qilsa, ikkinchi funksiya URL manzilini dekodlaydi.

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

Uchinchi funktsiya bilan biz satrning boshidan va oxiridan bo'sh joylarni olib tashlaymiz, agar mavjud bo'lsa:

$fio = kesish ($fio);
$email = trim($email);

PHP o'zgaruvchilarni filtrlash imkonini beruvchi boshqa funktsiyalar mavjud. Ulardan foydalanish tajovuzkor ushbu HTML elektron pochta yuborish formasiga dastur kodini qo'shishga harakat qilishidan qanchalik xavotirlanishingizga bog'liq.

HTML shaklidan PHP fayliga o'tkazilgan ma'lumotlarni tekshirish

Ushbu kodning ishlashini va ma'lumotlar uzatilayotganligini tekshirish uchun uni ekranda echo funktsiyasidan foydalanib ko'rsatishingiz mumkin:

echo $fio;
aks-sado "
";
echo $email;

Bu erda ikkinchi qator php o'zgaruvchilari chiqishini turli qatorlarga ajratish uchun kerak.

PHP yordamida HTML formasidan olingan ma'lumotlarni elektron pochtaga yuborish

Elektron pochta orqali ma'lumotlarni yuborish uchun siz PHP da pochta funksiyasidan foydalanishingiz kerak.

mail("qaysi manzilga yuborish kerak", "xat mavzusi", "Xabar (xatning asosiy qismi)","Kimdan: xat qaysi elektron pochtadan yuboriladi \r\n");

Misol uchun, ma'lumotlarni sayt egasi yoki menejerining elektron pochtasiga yuborishingiz kerak [elektron pochta himoyalangan].

Xatning mavzusi aniq bo'lishi kerak va xatning xabarida foydalanuvchi HTML shaklida ko'rsatgan narsalarni o'z ichiga olishi kerak.

pochta (" [elektron pochta himoyalangan]", "Saytdan ariza", "To'liq ism:".$fio.". E-mail: ".$email ,"Kimdan: [elektron pochta himoyalangan]\r\n");

Shakl ko'rsatilgan elektron pochta manziliga PHP yordamida yuborilganligini tekshiradigan shartni qo'shish kerak.

agar (pochta(" [elektron pochta himoyalangan]", "Saytdan buyurtma", "To'liq ism:".$fio.". E-mail: ".$email ,"Kimdan: [elektron pochta himoyalangan]\r\n"))
{
echo "xabar muvaffaqiyatli yuborildi";
) boshqa (
}

Shunday qilib, HTML forma ma'lumotlarini elektron pochtaga yuboradigan send.php faylining dastur kodi quyidagicha bo'ladi:

$fio = $_POST["fio"];
$email = $_POST["elektron pochta"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = kesish ($fio);
$email = trim($email);
//echo $fio;
// echo "
";
//echo $email;
agar (pochta(" [elektron pochta himoyalangan]", "Saytdan ariza", "To'liq ism:".$fio.". E-mail: ".$email ,"Kimdan: [elektron pochta himoyalangan]\r\n"))
( echo "xabar muvaffaqiyatli yuborildi";
) boshqa (
echo "xabar jo'natishda xatolar yuz berdi";
}?>

Ma'lumotlar faylga uzatiladimi yoki yo'qligini tekshirish uchun uchta qator izohlanadi. Agar kerak bo'lsa, ularni olib tashlash mumkin, chunki ular faqat disk raskadrovka uchun kerak edi.

Shaklni yuborish uchun HTML va PHP kodlarini bitta faylga joylashtiramiz

Ushbu maqolaga sharhlarda ko'p odamlar HTML shakli va elektron pochtaga ma'lumotlarni yuborish uchun PHP kodi ikkita emas, balki bitta faylda ekanligiga qanday ishonch hosil qilish kerakligi haqida savol berishadi.

Bu ishni amalga oshirish uchun send.php fayliga formaning HTML kodini joylashtirish va POST massivida o'zgaruvchilar mavjudligini tekshiradigan shart qo'shish kerak (bu massiv formadan yuboriladi). Ya'ni, agar massivdagi o'zgaruvchilar mavjud bo'lmasa, u holda foydalanuvchiga formani ko'rsatish kerak. Aks holda, siz massivdan ma'lumot olishingiz va uni qabul qiluvchiga yuborishingiz kerak.

Send.php faylidagi PHP kodini qanday o'zgartirishni ko'rib chiqamiz:



Saytdan ariza shakli


//POST massivida o'zgaruvchilar mavjudligini tekshiring
if(!isset($_POST["fio"]) va !isset($_POST["email"]))(
?>





) boshqa (
//shaklni ko'rsatish
$fio = $_POST["fio"];
$email = $_POST["elektron pochta"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim ($fio);
$email = trim($email);
agar (pochta(" [elektron pochta himoyalangan]", "Saytdan ariza", "To'liq ism:".$fio.". E-mail: ".$email ,"Kimdan: [elektron pochta himoyalangan]\r\n"))(
echo "Xabar muvaffaqiyatli yuborildi";
) boshqa (
echo "Xabarni yuborishda xatolar yuz berdi";
}
}
?>

Biz POST massivida o'zgaruvchining mavjudligini isset() PHP funksiyasi bilan tekshiramiz. Shartdagi bu funksiya oldidagi undov belgisi inkorni bildiradi. Ya'ni, agar o'zgaruvchi mavjud bo'lmasa, unda biz shaklimizni ko'rsatishimiz kerak. Agar men undov belgisini qo'ymaganimda, shart tom ma'noda "agar mavjud bo'lsa, shaklni ko'rsating" degan ma'noni anglatadi. Va bu bizning holatlarimizda noto'g'ri. Tabiiyki, uni index.php deb o'zgartirishingiz mumkin. Agar fayl nomini o'zgartirsangiz, qatordagi fayl nomini o'zgartirishni unutmang

. Shakl bir xil sahifaga havola qilinishi kerak, masalan, index.php. Kodga sahifa sarlavhasini qo'shdim.

Veb-saytdan PHP formasini yuborishda yuzaga keladigan keng tarqalgan xatolar

Birinchi, ehtimol, eng mashhur xato, hech qanday xabarsiz bo'sh oq sahifani ko'rganingizda. Bu siz sahifa kodida xatoga yo'l qo'yganingizni anglatadi. Siz PHP da barcha xatolarni ko'rsatishni yoqishingiz kerak va keyin xatolik qayerda sodir bo'lganligini ko'rasiz. Kodga qo'shing:

ini_set("display_xatolar", "Yoqilgan");
error_reporting("E_ALL");

Send.php fayli faqat serverda ishlashi kerak, aks holda kod oddiygina ishlamaydi. Bu mahalliy server emasligi tavsiya etiladi, chunki u har doim ham tashqi pochta serveriga ma'lumotlarni yuborish uchun sozlanmagan. Agar siz kodni serverda ishlatmasangiz, PHP kodi to'g'ridan-to'g'ri sahifada ko'rsatiladi.

Shunday qilib, to'g'ri ishlash uchun men send.php faylini sayt hostingiga joylashtirishni tavsiya qilaman. Qoida tariqasida, u erda hamma narsa allaqachon sozlangan.

Yana bir keng tarqalgan xato - "Xabar muvaffaqiyatli yuborildi" xabarnomasi paydo bo'lganda, lekin xat pochtaga kelmaydi. Bunday holda siz chiziqni diqqat bilan tekshirishingiz kerak:

agar (pochta(" [elektron pochta himoyalangan]", "Saytdan buyurtma", "To'liq ism:".$fio.". E-mail: ".$email ,"Kimdan: [elektron pochta himoyalangan]\r\n"))

O'rniga [elektron pochta himoyalangan] xat yuborilishi kerak bo'lgan elektron pochta manzili bo'lishi kerak, lekin buning o'rniga[elektron pochta himoyalangan] bu sayt uchun mavjud elektron pochta bo'lishi kerak. Masalan, veb-sayt uchun bu bo'ladi . Faqat bu holatda shakldagi ma'lumotlar bilan xat yuboriladi.