Kako poslati web stranicu e-poštom? Najjednostavniji oblik slanja podataka e-poštom koristeći HTML i PHP Kako poslati oznaku e-poštom

Jedna od najpopularnijih funkcija na web mjestu je obrazac za prijavu ili narudžbu, čiji se podaci šalju e-poštom vlasniku web mjesta. Takvi obrasci u pravilu su jednostavni i sastoje se od dva ili tri polja za unos podataka. Kako izraditi takvu narudžbenicu? To zahtijeva korištenje jezika HTML označavanje i programski jezik PHP.

Sam HTML jezik za označavanje je jednostavan; samo trebate smisliti kako i gdje staviti određene oznake. S programskim jezikom PHP stvari su malo kompliciranije.

Za programera stvaranje takvog obrasca nije teško, ali za dizajnera HTML izgleda neke radnje mogu se činiti teškima.

Napravite obrazac za slanje podataka u html-u

Prvi redak bit će sljedeći

Ovo je vrlo važan element obrasca. U njemu označavamo kako će se podaci prenijeti iu koju datoteku. U ovom slučaju sve se prenosi POST metoda datoteka send.php. Program u ovoj datoteci mora prema tome primiti podatke, oni će biti sadržani u nizu za objavu, i poslati ih na navedenu adresu e-pošte.

Vratimo se formi. Drugi red sadrži polje za unos vašeg punog imena. Ima sljedeći kod:

Tip obrasca je tekstualni, odnosno korisnik će ovdje moći unositi ili kopirati tekst s tipkovnice. Parametar name sadrži naziv forme. U ovom slučaju to je fio, pod tim imenom će se prenositi sve što korisnik unese u ovo polje. Parametar rezerviranog mjesta određuje što će biti napisano u ovom polju kao objašnjenje.

Sljedeći redak:

Ovdje je gotovo sve isto, ali naziv za polje je email, a objašnjenje je da korisnik u ovu formu upisuje svoju email adresu.

Sljedeći red bit će gumb "pošalji":

A posljednji redak u obrascu bit će oznaka

Sada spojimo sve zajedno.





Učinimo sada polja u obrascu obaveznima. Imamo sljedeći kod:





Napravite datoteku koja prihvaća podatke iz HTML obrasca

Ovo će biti datoteka pod nazivom send.php

U datoteci, u prvoj fazi, trebate prihvatiti podatke iz niza pošte. Da bismo to učinili, kreiramo dvije varijable:

$fio = $_POST["fio"];
$e-pošta = $_POST["e-pošta"];

Nazivima varijabli u PHP-u prethodi znak $, a točka-zarez se stavlja na kraju svakog retka. $_POST je niz u koji se šalju podaci iz forme. U html obrascu način slanja naveden je kao method="post". Dakle, dvije varijable su preuzete iz html forme. Kako biste zaštitili svoju stranicu, ove varijable morate propustiti kroz nekoliko filtera - php funkcija.

Prva funkcija će pretvoriti sve znakove koje će korisnik pokušati dodati u obrazac:

U ovom slučaju, nove varijable se ne kreiraju u php-u, već se koriste postojeće. Filtar će transformirati lik "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Druga funkcija dekodira URL ako ga korisnik pokuša dodati u obrazac.

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

Trećom funkcijom ćemo ukloniti razmake s početka i kraja retka, ako ih ima:

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

Postoje i druge funkcije koje vam omogućuju filtriranje php varijabli. Njihova upotreba ovisi o tome koliko ste zabrinuti da će napadač pokušati dodati programski kod u ovaj html obrazac za slanje e-pošte.

Validacija podataka prenesenih iz HTML obrasca u PHP datoteku

Kako biste provjerili radi li ovaj kod i prenose li se podaci, možete ga jednostavno prikazati na ekranu pomoću funkcije echo:

odjek $fio;
jeka "
";
echo $e-pošta;

Drugi red ovdje je potreban za odvajanje izlaza php varijabli u različite retke.

Slanje primljenih podataka iz HTML obrasca na e-poštu pomoću PHP-a

Za slanje podataka e-poštom morate koristiti funkciju pošte u PHP-u.

mail("na koju adresu poslati", "predmet pisma", "Poruka (tijelo pisma)","Od: s koje e-pošte je pismo poslano \r\n");

Na primjer, trebate poslati podatke na e-mail vlasnika ili upravitelja stranice [e-mail zaštićen].

Predmet pisma treba biti jasan, a poruka pisma treba sadržavati ono što je korisnik naveo u HTML obrascu.

pošta(" [e-mail zaštićen]", "Prijava sa stranice", "Puno ime:".$fio.". E-pošta: ".$email ,"Od: [e-mail zaštićen]\r\n");

Potrebno je dodati uvjet koji će provjeravati da li je formular poslan PHP-om na navedenu email adresu.

ako (mail(" [e-mail zaštićen]", "Naručite sa stranice", "Puno ime:".$fio.". E-pošta: ".$email ,"Od: [e-mail zaštićen]\r\n"))
{
echo "poruka uspješno poslana";
) inače (
}

Dakle, programski kod send.php datoteke, koja će poslati podatke HTML obrasca na e-mail, izgledat će ovako:

$fio = $_POST["fio"];
$e-pošta = $_POST["e-pošta"];
$fio = htmlposebni znakovi($fio);
$e-pošta = htmlspecialchars($e-pošta);
$fio = urldecode($fio);
$e-pošta = urldecode($e-pošta);
$fio = trim($fio);
$e-pošta = trim($e-pošta);
//echo $fio;
//jeka "
";
//echo $e-pošta;
ako (mail(" [e-mail zaštićen]", "Prijava sa stranice", "Puno ime:".$fio.". E-pošta: ".$email ,"Od: [e-mail zaštićen]\r\n"))
( echo "poruka uspješno poslana";
) inače (
echo "došlo je do pogreške prilikom slanja poruke";
}?>

Tri retka za provjeru prenosa podataka u datoteku su komentirana. Ako je potrebno, mogu se ukloniti jer su bili potrebni samo za otklanjanje pogrešaka.

HTML i PHP kod za slanje obrasca stavljamo u jednu datoteku

U komentarima na ovaj članak mnogi postavljaju pitanje kako osigurati da i HTML obrazac i PHP kod za slanje podataka na e-mail budu u jednoj datoteci, a ne u dvije.

Da biste implementirali ovaj posao, trebate postaviti HTML kod obrasca u datoteku send.php i dodati uvjet koji će provjeravati prisutnost varijabli u POST nizu (ovaj niz se šalje iz obrasca). Odnosno, ako varijable u nizu ne postoje, korisniku trebate pokazati obrazac. U suprotnom, trebate primiti podatke iz polja i poslati ih primatelju.

Pogledajmo kako promijeniti PHP kod u datoteci send.php:



Obrazac za prijavu sa stranice


//provjeri postoje li varijable u POST nizu
if(!isset($_POST["fio"]) i !isset($_POST["email"]))(
?>





) inače (
//pokaži obrazac
$fio = $_POST["fio"];
$e-pošta = $_POST["e-pošta"];
$fio = htmlposebni znakovi($fio);
$e-pošta = htmlspecialchars($e-pošta);
$fio = urldecode($fio);
$e-pošta = urldecode($e-pošta);
$fio = trim($fio);
$e-pošta = trim($e-pošta);
ako (mail(" [e-mail zaštićen]", "Prijava sa stranice", "Puno ime:".$fio.". E-pošta: ".$email ,"Od: [e-mail zaštićen]\r\n"))(
echo "Poruka je uspješno poslana";
) inače (
echo "Došlo je do pogreške prilikom slanja poruke";
}
}
?>

Postojanje varijable u POST nizu provjeravamo PHP funkcijom isset(). Uskličnik ispred ove funkcije u uvjetu znači negaciju. Odnosno, ako varijabla ne postoji, tada trebamo prikazati naš oblik. Da nisam stavio uskličnik, uvjet bi doslovno značio "ako postoji, onda pokaži obrazac." A to je u našem slučaju pogrešno. Naravno, možete ga preimenovati u index.php. Ako preimenujete datoteku, ne zaboravite promijeniti naziv datoteke u retku

. Obrazac treba povezivati ​​na istu stranicu, na primjer index.php. Dodao sam naslov stranice kodu.

Uobičajene pogreške koje se javljaju prilikom podnošenja PHP obrasca s web stranice

Prva, vjerojatno najpopularnija pogreška, je kada vidite praznu bijelu stranicu bez poruka. To znači da ste pogriješili u kodu stranice. Morate omogućiti prikaz svih grešaka u PHP-u i tada ćete vidjeti gdje je greška napravljena. Dodajte kodu:

ini_set("prikaz_pogreški","Uključeno");
error_reporting("E_ALL");

Datoteka send.php mora se izvoditi samo na poslužitelju, inače kôd jednostavno neće raditi. Preporučljivo je da ovo nije lokalni poslužitelj, budući da nije uvijek konfiguriran za slanje podataka vanjskom poslužitelju e-pošte. Ako kod ne pokrenete na poslužitelju, tada će se PHP kod prikazati izravno na stranici.

Stoga, za ispravan rad, preporučujem postavljanje datoteke send.php na hosting stranice. U pravilu je tamo sve već konfigurirano.

Još jedna česta pogreška je kada se pojavi obavijest "Poruka je uspješno poslana", ali pismo ne stigne poštom. U ovom slučaju morate pažljivo provjeriti liniju:

ako (mail(" [e-mail zaštićen]", "Naručite sa stranice", "Puno ime:".$fio.". E-pošta: ".$email ,"Od: [e-mail zaštićen]\r\n"))

Umjesto [e-mail zaštićen] mora postojati adresa e-pošte na koju treba poslati pismo, ali umjesto toga[e-mail zaštićen] mora biti postojeća e-pošta za ovu stranicu. Na primjer, za web stranicu to će biti . Samo u tom slučaju bit će poslano pismo s podacima iz obrasca.

Na internetu ima puno zanimljivih i korisnih sadržaja. Ponekad je mnogo lakše prijatelju poslati poveznicu na zanimljive informacije umjesto da ih kopirate sa stranice i prosljeđujete na druge načine. Kako poslati link na što praktičniji način?

E-mail

Većina modernih usluga e-pošte podržava mogućnost jednostavnog umetanja veze. Odnosno, trebate ga samo kopirati iz adresne trake vašeg preglednika, zatim ga zalijepiti u slovo i postat će "klikabilno", odnosno nakon klika na njega automatski će se otvoriti željena stranica.

Ako adresu stranice ili stranice upišete ručno, poveznica neće funkcionirati na ovaj način. Da biste to popravili, pokušajte napisati http:// ili www na početku veze. Odnosno, umjesto site.com trebate napisati http://site.com ili www.site.com. Nakon toga će se na vezu moći kliknuti.

Također možete priložiti poveznicu na određene riječi u pismu. Da biste to učinili, morate ih odabrati i na alatnoj traci kliknuti "Umetni vezu", a zatim u prozoru označiti adresu željene stranice. Ako vaša pošta podržava korištenje html oznaka, tada možete umetnuti poveznicu poput ove: riječi kojima prilažete vezu.

Kolege

Prije nego što pošaljete vezu na Odnoklassniki, morate preuzeti poseban softver koji vam to omogućuje. Jedan takav program je GF Tools. Potpuno je besplatan i vrlo jednostavan za korištenje. Također možete jednostavno zalijepiti tekst veze u poruku koju šaljete drugom korisniku. Može se postaviti i na zid.

U kontaktu s

Link možete ubaciti i u status i poruke na zidu. U tom slučaju poveznica će također biti "klikabilna" za sve korisnike. Kada umetnete poveznicu na zid, skripta stranice će automatski prikazati prvu sliku sa stranice na koju je navedena poveznica, kao i nekoliko redaka teksta s nje.

Postoji mnogo načina za "izrezati" web stranicu.

Ali Pocket zahtijeva aplikaciju i Pocket račun. To znači da trebate instalirati drugu aplikaciju, prijaviti se na uslugu, sinkronizirati itd. Bilo bi lijepo da to isto možete učiniti koristeći svoj poštanski sandučić.

To je ideja iza EmailThis-a, što je upravo ono što njegov naziv sugerira. Jednim klikom ovaj bookmarklet (ili proširenje,
ako ste korisnik Chromea) isporučit će trenutnu web stranicu u vašu pristiglu poštu. I poput Pocketa, uklanja sve oglase i oblikovanje koje nije prilagođeno mobilnim uređajima, ostavljajući vam samo tekst i slike koji se lako čitaju. (Također nudi izvornu poveznicu ispod ako se želite vratiti na stranicu.)

Nakon što dovršite početno postavljanje (na engleskom), korištenje EmailThis-a doslovno je klik na gumb: kliknite na bookmarklet (ili ikonu proširenja) kada želite sami sebi poslati stranicu koju trenutno gledate.

Zanimljivo je da je bookmark kompatibilan i s Android i iOS preglednicima, no korištenje zahtijeva malo više truda. Korisnici Androida trebaju unijeti "pošalji ovo e-poštom" u adresnu traku, dok korisnici iOS-a moraju otvoriti svoje spremljene oznake i dodirnuti "Pošalji ovo e-poštom".

Naravno, mnogi mobilni preglednici imaju opciju "pročitaj kasnije", koja odlično funkcionira. Ali ako želite da stranica bude isporučena u vaš inbox, ovo je najbolji način.

Nažalost, EmailThis nije kompatibilan s Microsoft Edgeom, koji ne podržava bookmarklete. Ako nađete zaobilazno rješenje, svakako mi javite u komentarima.

Alat sam testirao na raznim web stranicama. S većinom je to izvrsno funkcioniralo. Primijetio sam da neke od ugrađenih slika nisu "izrezane", možda zato što su hostirane na trećoj strani. No općenito, smatram da je EmailThis brz i jednostavan način za slanje bilo koje web-stranice u vašu pristiglu poštu.

I ova mi se opcija više sviđa od opcija "pročitaj kasnije" jer moja pristigla pošta duplira funkciju popisa obveza. Na taj način web sadržaj koji smatram važnim nije zaboravljen niti zanemaren.

Napomena urednika: Ovaj je članak izvorno objavljen 25. veljače 2014., a danas je ažuriran.

Koji su neki od načina za slanje web stranice na e-poštu?
Na razne načine, ovisno o tome što je autor pitanja mislio.

Na primjer, ako imate program za snimanje zaslona, ​​možete napraviti snimku otvorene stranice i poslati je kao sliku na e-mail osobe koju trebate. U tom će slučaju slika biti mrtva i veze neće raditi.

Pretpostavljam da bi točniji odgovor bio spremanje stranice standardnim metodama. Kliknite izbornik "datoteka" u pregledniku, zatim "spremi kao" i spremite cijelu web stranicu. Ako osoba kojoj je ova stranica poslana ima pristup Internetu, moći će pratiti poveznice sa stranice, one će raditi.

U prvom slučaju, bit će lakše otvoriti stranicu ako je odabran uobičajeni format slike - bmp, jpg, gif. U drugom slučaju može doći do problema s prikazom stranice spremljene u jednom pregledniku, ali otvorene u drugom; možda se neće ispravno prikazati ili se uopće neće otvoriti.

Oba slučaja su dizajnirana za čuvanje u arhivi, za slanje osobi koja nema stalni pristup Internetu. U ovom slučaju, bolje ga je priložiti uz pismo.

Ali ako osoba uvijek ima internet, zašto spremiti i poslati mu stranicu ili napraviti privitak? Mnogo je lakše kopirati vezu željene stranice u adresnu traku i zalijepiti je u tijelo pisma.

Da biste to učinili, možete koristiti specijalizirane online usluge arhiviranja, na primjer - Archive.today: arhivirajte danas

Ovdje samo trebate postaviti URL adresu resursa i sam sustav će stvoriti zip datoteku i URL vezu na "snimak" web stranice, koji će uvijek biti online, čak i ako originalna verzija nestane.

Uz e-mail se može priložiti zip datoteka, u polje za e-mail ubaciti poveznica na “snapshot” web stranice, a sve se može poslati e-poštom ili pohraniti na bilo koji drugi način.

Na primjer, današnja verzija moskovske FAQ stranice (zajedno sa zip datotekom) dostupna je ovdje: arhiviraj danas

Također možete koristiti online usluge za snimanje zaslona, ​​na primjer Web-capture: web-capture net

Koji su neki od načina za slanje web stranice na e-poštu?
Na razne načine, ovisno o tome što je autor pitanja mislio.

Na primjer, ako imate program za snimanje zaslona, ​​možete napraviti snimku otvorene stranice i poslati je kao sliku na e-mail osobe koju trebate. U tom će slučaju slika biti mrtva i veze neće raditi.

Pretpostavljam da bi točniji odgovor bio spremanje stranice standardnim metodama. Kliknite izbornik "datoteka" u pregledniku, zatim "spremi kao" i spremite cijelu web stranicu. Ako osoba kojoj je ova stranica poslana ima pristup Internetu, moći će pratiti poveznice sa stranice, one će raditi.

U prvom slučaju, bit će lakše otvoriti stranicu ako je odabran uobičajeni format slike - bmp, jpg, gif. U drugom slučaju može doći do problema s prikazom stranice spremljene u jednom pregledniku, ali otvorene u drugom; možda se neće ispravno prikazati ili se uopće neće otvoriti.

Oba slučaja su dizajnirana za čuvanje u arhivi, za slanje osobi koja nema stalni pristup Internetu. U ovom slučaju, bolje ga je priložiti uz pismo.

Ali ako osoba uvijek ima internet, zašto spremiti i poslati mu stranicu ili napraviti privitak? Mnogo je lakše kopirati vezu željene stranice u adresnu traku i zalijepiti je u tijelo pisma.

Da biste to učinili, možete koristiti specijalizirane online usluge arhiviranja, na primjer - Archive.today: arhivirajte danas

Ovdje samo trebate postaviti URL adresu resursa i sam sustav će stvoriti zip datoteku i URL vezu na "snimak" web stranice, koji će uvijek biti online, čak i ako originalna verzija nestane.

Uz e-mail se može priložiti zip datoteka, u polje za e-mail ubaciti poveznica na “snapshot” web stranice, a sve se može poslati e-poštom ili pohraniti na bilo koji drugi način.

Na primjer, današnja verzija moskovske FAQ stranice (zajedno sa zip datotekom) dostupna je ovdje: arhiviraj danas

Također možete koristiti online usluge za snimanje zaslona, ​​na primjer Web-capture: web-capture net