Kako poslati spletno stran po e-pošti? Najenostavnejša oblika pošiljanja podatkov po e-pošti z uporabo HTML in PHP Kako poslati zaznamek po e-pošti

Ena izmed najbolj priljubljenih funkcij na spletnem mestu je prijavnica ali naročilnica, katere podatki se po elektronski pošti pošljejo lastniku spletnega mesta. Takšni obrazci so praviloma enostavni in sestavljeni iz dveh ali treh polj za vnos podatkov. Kako ustvariti takšno naročilnico? To zahteva uporabo jezika HTML oznaka in programski jezik PHP.

Sam označevalni jezik HTML je preprost; le ugotoviti morate, kako in kam vstaviti določene oznake. Pri programskem jeziku PHP so stvari nekoliko bolj zapletene.

Za programerja ustvarjanje takšnega obrazca ni težko, za oblikovalca postavitve HTML pa se lahko nekatera dejanja zdijo težka.

Ustvarite obrazec za oddajo podatkov v html

Prva vrstica bo naslednja

To je zelo pomemben element obrazca. V njem navedemo, kako se bodo podatki prenesli in v katero datoteko. V tem primeru se vse prenese metoda POST datoteka send.php. Program v tej datoteki mora ustrezno prejeti podatke, vsebovani bodo v poštnem polju, in jih poslati na navedeni elektronski naslov.

Vrnimo se k formi. V drugi vrstici bo polje za vnos vašega polnega imena. Ima naslednjo kodo:

Vrsta obrazca je besedilo, to pomeni, da bo uporabnik tukaj lahko vnesel ali kopiral besedilo s tipkovnice. Parameter name vsebuje ime obrazca. V tem primeru je fio, pod tem imenom se prenaša vse, kar uporabnik vnese v to polje. Parameter placeholder določa, kaj bo zapisano v tem polju kot razlaga.

Naslednja vrstica:

Tukaj je skoraj vse enako, le ime za polje je email, razlaga pa je, da uporabnik v ta obrazec vnese svoj email naslov.

Naslednja vrstica bo gumb "pošlji":

In zadnja vrstica v obrazcu bo oznaka

Zdaj pa dajmo vse skupaj.





Zdaj pa naredimo polja v obrazcu obvezna. Imamo naslednjo kodo:





Ustvarite datoteko, ki sprejema podatke iz obrazca HTML

To bo datoteka z imenom send.php

V datoteki morate na prvi stopnji sprejeti podatke iz poštnega polja. Da bi to naredili, ustvarimo dve spremenljivki:

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

Pred imeni spremenljivk v PHP je znak $, na koncu vsake vrstice pa je podpičje. $_POST je polje, v katerega se pošiljajo podatki iz obrazca. V obrazcu html je način pošiljanja naveden kot method="post". Tako sta vzeti dve spremenljivki html obrazci. Če želite zaščititi svoje spletno mesto, morate te spremenljivke prenesti skozi več filtrov – php funkcij.

Prva funkcija bo pretvorila vse znake, ki jih bo uporabnik poskušal dodati obrazcu:

V tem primeru se v php ne ustvarijo nove spremenljivke, ampak se uporabijo obstoječe. Filter bo spremenil lik "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Druga funkcija dekodira URL, če ga uporabnik poskuša dodati v obrazec.

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

S tretjo funkcijo bomo odstranili presledke z začetka in konca vrstice, če obstajajo:

$fio = trim($fio);
$e-pošta = trim($e-pošta);

Obstajajo še druge funkcije, ki vam omogočajo filtriranje spremenljivk php. Njihova uporaba je odvisna od tega, kako zaskrbljeni ste, da bo napadalec poskusil dodati programsko kodo v ta obrazec za oddajo e-pošte html.

Validacija podatkov, prenesenih iz obrazca HTML v datoteko PHP

Če želite preveriti, ali ta koda deluje in ali se podatki prenašajo, jo lahko preprosto prikažete na zaslonu s funkcijo odmeva:

echo $fio;
odmev "
";
echo $e-pošta;

Druga vrstica tukaj je potrebna za ločevanje izpisa spremenljivk php v različne vrstice.

Pošiljanje prejetih podatkov iz obrazca HTML na e-pošto z uporabo PHP

Za pošiljanje podatkov po e-pošti morate uporabiti funkcijo pošte v PHP.

mail("na kateri naslov poslati", "predmet pisma", "Sporočilo (telo pisma)","Od: iz katere e-pošte je pismo poslano \r\n");

Na primer, podatke morate poslati na e-pošto lastnika ali upravitelja spletnega mesta [e-pošta zaščitena].

Zadeva pisma mora biti jasna, sporočilo pisma pa mora vsebovati tisto, kar je uporabnik navedel v obrazcu HTML.

pošta (" [e-pošta zaščitena]", "Prijava s spletnega mesta", "Polno ime:".$fio.". E-pošta: ".$email ,"Od: [e-pošta zaščitena]\r\n");

Dodati je treba pogoj, ki bo preverjal, ali je bil obrazec poslan s PHP-jem na navedeni elektronski naslov.

če (pošta(" [e-pošta zaščitena]", "Naroči s spletnega mesta", "Polno ime:".$fio.". E-pošta: ".$email ,"Od: [e-pošta zaščitena]\r\n"))
{
echo "sporočilo uspešno poslano";
) drugače (
}

Tako bo programska koda datoteke send.php, ki bo poslala podatke obrazca HTML na e-pošto, videti takole:

$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$e-pošta = trim($e-pošta);
//odmev $fio;
//odmev "
";
//echo $email;
če (pošta(" [e-pošta zaščitena]", "Prijava s spletnega mesta", "Polno ime:".$fio.". E-pošta: ".$email ,"Od: [e-pošta zaščitena]\r\n"))
( echo "sporočilo uspešno poslano";
) drugače (
echo "med pošiljanjem sporočila je prišlo do napak";
}?>

Tri vrstice za preverjanje, ali se podatki prenašajo v datoteko, so zakomentirane. Po potrebi jih je mogoče odstraniti, saj so bili potrebni le za odpravljanje napak.

HTML in PHP kodo za oddajo obrazca postavimo v eno datoteko

V komentarjih na ta članek se veliko ljudi sprašuje, kako zagotoviti, da bosta obrazec HTML in koda PHP za pošiljanje podatkov na e-pošto v eni datoteki in ne v dveh.

Za izvedbo tega dela morate kodo HTML obrazca postaviti v datoteko send.php in dodati pogoj, ki bo preveril prisotnost spremenljivk v matriki POST (ta matrika je poslana iz obrazca). To pomeni, da če spremenljivke v matriki ne obstajajo, morate uporabniku pokazati obrazec. V nasprotnem primeru morate prejeti podatke iz matrike in jih poslati prejemniku.

Poglejmo, kako spremeniti kodo PHP v datoteki send.php:



Prijavnica s spletnega mesta


//preveri, ali obstajajo spremenljivke v matriki POST
if(!isset($_POST["fio"]) in !isset($_POST["email"]))(
?>





) drugače (
//pokaži obrazec
$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$e-pošta = trim($e-pošta);
če (pošta(" [e-pošta zaščitena]", "Prijava s spletnega mesta", "Polno ime:".$fio.". E-pošta: ".$email ,"Od: [e-pošta zaščitena]\r\n"))(
echo "Sporočilo uspešno poslano";
) drugače (
echo "Med pošiljanjem sporočila je prišlo do napake";
}
}
?>

Obstoj spremenljivke v matriki POST preverimo s PHP funkcijo isset(). Klicaj pred to funkcijo v pogoju pomeni zanikanje. Se pravi, če spremenljivka ne obstaja, potem moramo pokazati svojo obliko. Če ne bi postavil klicaja, bi pogoj dobesedno pomenil "če obstaja, pokaži obrazec." In to je v našem primeru narobe. Seveda ga lahko preimenujete v index.php. Če preimenujete datoteko, ne pozabite preimenovati imena datoteke v vrstici

. Obrazec mora imeti povezavo do iste strani, na primer index.php. Kodi sem dodal naslov strani.

Pogoste napake, do katerih pride pri oddaji obrazca PHP s spletnega mesta

Prva, verjetno najbolj priljubljena napaka je, ko vidite prazno belo stran brez sporočil. To pomeni, da ste naredili napako v kodi strani. Omogočiti morate prikaz vseh napak v PHP in potem boste videli, kje je prišlo do napake. Dodajte kodi:

ini_set("display_errors","On");
error_reporting("E_ALL");

Datoteka send.php se mora izvajati samo na strežniku, sicer koda preprosto ne bo delovala. Priporočljivo je, da to ni lokalni strežnik, saj ni vedno konfiguriran za pošiljanje podatkov zunanjemu poštnemu strežniku. Če kodo ne izvajate na strežniku, bo koda PHP prikazana neposredno na strani.

Zato za pravilno delovanje priporočam, da datoteko send.php postavite na gostovanje spletnega mesta. Praviloma je tam vse že konfigurirano.

Druga pogosta napaka je, ko se prikaže obvestilo »Sporočilo je bilo uspešno poslano«, vendar pismo ne prispe po pošti. V tem primeru morate skrbno preveriti vrstico:

če (pošta(" [e-pošta zaščitena]", "Naroči s spletnega mesta", "Polno ime:".$fio.". E-pošta: ".$email ,"Od: [e-pošta zaščitena]\r\n"))

Namesto [e-pošta zaščitena] obstajati mora e-poštni naslov, na katerega je treba pismo poslati, vendar namesto tega[e-pošta zaščitena] mora biti obstoječi e-poštni naslov za to spletno mesto. Na primer, za spletno mesto bo to . Le v tem primeru bo poslano pismo s podatki iz obrazca.

Na spletu je veliko zanimivih in uporabnih vsebin. Včasih je veliko lažje poslati prijatelju povezavo do zanimivih informacij, namesto da bi jih kopirali s spletnega mesta in posredovali na druge načine. Kako čim bolj priročno poslati povezavo?

E-naslov

Večina sodobnih e-poštnih storitev podpira možnost preprostega vstavljanja povezave. To pomeni, da ga morate samo kopirati iz naslovne vrstice brskalnika, nato ga prilepiti v črko in postalo bo "klikniti", to pomeni, da se po kliku nanj samodejno odpre želena stran.

Če naslov mesta ali strani vnesete ročno, povezava na ta način ne bo delovala. Če želite to popraviti, poskusite napisati http:// ali www na začetku povezave. To pomeni, da namesto site.com morate napisati http://site.com ali www.site.com. Po tem bo povezavo mogoče klikniti.

V pismu lahko priložite tudi povezavo do določenih besed. Če želite to narediti, jih morate izbrati in v orodni vrstici klikniti »Vstavi povezavo«, nato pa v oknu navesti naslov želene strani. Če vaša pošta podpira uporabo oznak html, potem lahko vstavite povezavo takole: besede, ki jim priložite povezavo.

Sošolci

Preden pošljete povezavo na Odnoklassniki, morate prenesti posebno programsko opremo, ki vam to omogoča. Eden takih programov je GF Tools. Je popolnoma brezplačen in zelo enostaven za uporabo. Lahko tudi preprosto prilepite besedilo povezave v sporočilo, ki ga pošljete drugemu uporabniku. Lahko se obesi tudi na steno.

V stiku z

Povezavo lahko vstavite tudi v status in sporočila na steni. V tem primeru bo povezava tudi “klikabilna” za vse uporabnike. Ko vstavite povezavo do stene, bo skript spletnega mesta samodejno prikazal prvo sliko s strani, do katere je povezava podana, in več vrstic besedila iz nje.

Spletno stran lahko "razrežete" na več načinov.

Toda Pocket zahteva aplikacijo in račun Pocket. To pomeni, da morate namestiti drugo aplikacijo, se prijaviti v storitev, sinhronizirati itd. Lepo bi bilo, če bi lahko to storili tudi s svojim poštnim predalom.

To je ideja za EmailThis, kar je natanko tisto, kar pove njegovo ime. Z enim klikom ta zaznamek (ali razširitev,
če ste uporabnik Chroma) bo trenutno spletno stran dostavil v vaš nabiralnik. In tako kot Pocket odstrani vse oglase in do mobilnih naprav neprijazno oblikovanje, tako da imate lahko berljivo besedilo in slike. (Zagotavlja tudi izvirno spodnjo povezavo, če se želite vrniti na spletno mesto.)

Ko dokončate začetno nastavitev (v angleščini), je z uporabo EmailThis dobesedno klik na gumb: kliknite zaznamek (ali ikono razširitve), ko želite sebi poslati stran, ki si jo trenutno ogledujete.

Zanimivo je, da je zaznamek združljiv tudi z brskalnikoma Android in iOS, vendar se je za njegovo uporabo treba nekoliko bolj potruditi. Uporabniki Androida morajo v naslovno vrstico vnesti "pošlji to po e-pošti", medtem ko morajo uporabniki iOS odpreti svoje shranjene zaznamke in tapniti "Pošlji to po e-pošti".

Seveda ima veliko mobilnih brskalnikov možnost »preberi pozneje«, ki deluje odlično. Če pa želite, da je stran dostavljena v vaš nabiralnik, je to najboljši način.

Na žalost EmailThis ni združljiv z Microsoft Edge, ki ne podpira zaznamkov. Če najdete rešitev, mi to sporočite v komentarjih.

Orodje sem preizkusil na različnih spletnih straneh. Z večino je odlično delovalo. Opazil sem, da nekatere vdelane slike niso bile "rezane", morda zato, ker jih gosti tretja oseba. Toda na splošno sem ugotovil, da je EmailThis hiter in enostaven način za pošiljanje katere koli spletne strani v vaš nabiralnik.

Ta možnost mi je bolj všeč kot možnosti »preberi pozneje«, ker moj nabiralnik podvaja funkcijo seznama opravil. Tako spletne vsebine, ki se mi zdijo pomembne, niso pozabljene ali spregledane.

Opomba urednika: Ta članek je bil prvotno objavljen 25. februarja 2014 in je bil danes posodobljen.

Kakšni so načini pošiljanja spletne strani na e-pošto?
Na različne načine, odvisno od tega, kaj je mislil avtor vprašanja.

Na primer, če imate program za snemanje posnetkov zaslona, ​​lahko naredite posnetek zaslona odprte strani in ga pošljete kot sliko na e-pošto osebe, ki jo potrebujete. V tem primeru bo slika mrtva in povezave ne bodo delovale.

Sumim, da bi bil pravilnejši odgovor, da stran shranite s standardnimi metodami. V brskalniku kliknite meni »datoteka«, nato »shrani kot« in shranite celotno spletno stran. Če ima oseba, ki ji je ta stran poslana, dostop do interneta, bo lahko sledila povezavam s strani, delovale bodo.

V prvem primeru bo stran lažje odpreti, če je izbran običajen format slike - bmp, jpg, gif. V drugem primeru lahko pride do težav s prikazom strani, ki je shranjena v enem brskalniku, a odprta v drugem; morda ni pravilno prikazana ali se sploh ne odpre.

Oba primera sta zasnovana za hrambo v arhivu, za pošiljanje osebi, ki nima stalnega dostopa do interneta. V tem primeru je bolje, da ga priložite pismu.

Če pa ima oseba vedno internet, zakaj bi mu shranili in poslali stran ali naredili prilogo? Veliko lažje je kopirati povezavo želene strani v naslovno vrstico in jo prilepiti v telo pisma.

Če želite to narediti, lahko uporabite specializirane storitve spletnega arhiviranja, na primer - Archive.today: arhivirajte danes

Tukaj morate le vnesti URL naslov vira in sistem bo sam ustvaril zip datoteko in URL povezavo do »posnetka« spletne strani, ki bo vedno na spletu, tudi če izvirna različica izgine.

E-poštnemu sporočilu lahko pripnete datoteko zip, v polje za e-poštni naslov lahko vstavite povezavo do »posnetka« spletne strani, vse skupaj pa lahko pošljete po e-pošti ali kako drugače shranite.

Na primer, današnja različica moskovske strani s pogostimi vprašanji (skupaj z datoteko zip) je na voljo tukaj: arhiviraj danes

Za snemanje posnetkov zaslona lahko uporabite tudi spletne storitve, na primer Web-capture: web-capture net

Kakšni so načini pošiljanja spletne strani na e-pošto?
Na različne načine, odvisno od tega, kaj je mislil avtor vprašanja.

Na primer, če imate program za snemanje posnetkov zaslona, ​​lahko naredite posnetek zaslona odprte strani in ga pošljete kot sliko na e-pošto osebe, ki jo potrebujete. V tem primeru bo slika mrtva in povezave ne bodo delovale.

Sumim, da bi bil pravilnejši odgovor, da stran shranite s standardnimi metodami. V brskalniku kliknite meni »datoteka«, nato »shrani kot« in shranite celotno spletno stran. Če ima oseba, ki ji je ta stran poslana, dostop do interneta, bo lahko sledila povezavam s strani, delovale bodo.

V prvem primeru bo stran lažje odpreti, če je izbran običajen format slike - bmp, jpg, gif. V drugem primeru lahko pride do težav s prikazom strani, ki je shranjena v enem brskalniku, a odprta v drugem; morda ni pravilno prikazana ali se sploh ne odpre.

Oba primera sta zasnovana za hrambo v arhivu, za pošiljanje osebi, ki nima stalnega dostopa do interneta. V tem primeru je bolje, da ga priložite pismu.

Če pa ima oseba vedno internet, zakaj bi mu shranili in poslali stran ali naredili prilogo? Veliko lažje je kopirati povezavo želene strani v naslovno vrstico in jo prilepiti v telo pisma.

Če želite to narediti, lahko uporabite specializirane storitve spletnega arhiviranja, na primer - Archive.today: arhivirajte danes

Tukaj morate le vnesti URL naslov vira in sistem bo sam ustvaril zip datoteko in URL povezavo do »posnetka« spletne strani, ki bo vedno na spletu, tudi če izvirna različica izgine.

E-poštnemu sporočilu lahko pripnete datoteko zip, v polje za e-poštni naslov lahko vstavite povezavo do »posnetka« spletne strani, vse skupaj pa lahko pošljete po e-pošti ali kako drugače shranite.

Na primer, današnja različica moskovske strani s pogostimi vprašanji (skupaj z datoteko zip) je na voljo tukaj: arhiviraj danes

Za snemanje posnetkov zaslona lahko uporabite tudi spletne storitve, na primer Web-capture: web-capture net